diff --git a/.DS_Store b/.DS_Store index 8112cff..cccd18a 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/ArkitDoushiQi/.DS_Store b/ArkitDoushiQi/.DS_Store index 68bfabc..5a1a5b9 100644 Binary files a/ArkitDoushiQi/.DS_Store and b/ArkitDoushiQi/.DS_Store differ diff --git a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj index 9485c6f..20a11ba 100644 --- a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj +++ b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj @@ -25,6 +25,8 @@ C205A2D42BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */; }; C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E42BF5FE09004E80D5 /* MainMenu.swift */; }; C24659E92BF60FAA004E80D5 /* ButtonComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E82BF60FAA004E80D5 /* ButtonComponent.swift */; }; + C24DAB5C2C061DC700681CD0 /* AI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24DAB5B2C061DC700681CD0 /* AI.swift */; }; + C24DAB5E2C061E3A00681CD0 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24DAB5D2C061E3A00681CD0 /* Language.swift */; }; C25220EE2C00AC7E0026B71F /* GameParametersMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */; }; C25220F32C00AF490026B71F /* EditComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220F22C00AF490026B71F /* EditComponent.swift */; }; C2F394082C0462400070B4F6 /* PhotoButtonComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F394072C0462400070B4F6 /* PhotoButtonComponent.swift */; }; @@ -70,6 +72,8 @@ C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WtaTennisUITestsLaunchTests.swift; sourceTree = ""; }; C24659E42BF5FE09004E80D5 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = ""; }; C24659E82BF60FAA004E80D5 /* ButtonComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonComponent.swift; sourceTree = ""; }; + C24DAB5B2C061DC700681CD0 /* AI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AI.swift; sourceTree = ""; }; + C24DAB5D2C061E3A00681CD0 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameParametersMenuView.swift; sourceTree = ""; }; C25220F22C00AF490026B71F /* EditComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditComponent.swift; sourceTree = ""; }; C2F394072C0462400070B4F6 /* PhotoButtonComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoButtonComponent.swift; sourceTree = ""; }; @@ -172,6 +176,7 @@ C205A2BC2BF373380097BD93 /* Views */ = { isa = PBXGroup; children = ( + C24DAB5A2C061DAA00681CD0 /* Enum */, C25220F02C00AD7F0026B71F /* Components */, C25220EC2C00AC530026B71F /* GameParametersMenu */, C25220EB2C00A9230026B71F /* GeneralParametersMenu */, @@ -199,6 +204,15 @@ path = ArkitDoushiQiUITests; sourceTree = ""; }; + C24DAB5A2C061DAA00681CD0 /* Enum */ = { + isa = PBXGroup; + children = ( + C24DAB5B2C061DC700681CD0 /* AI.swift */, + C24DAB5D2C061E3A00681CD0 /* Language.swift */, + ); + path = Enum; + sourceTree = ""; + }; C25220EA2C00A9010026B71F /* MainMenu */ = { isa = PBXGroup; children = ( @@ -387,12 +401,14 @@ 82CE59E92C045D1100ADEE24 /* GameScene.swift in Sources */, 82F9D3312BFE3A9F009EDFAF /* HistoryGameDetail.swift in Sources */, C24659E92BF60FAA004E80D5 /* ButtonComponent.swift in Sources */, + C24DAB5E2C061E3A00681CD0 /* Language.swift in Sources */, C2F394082C0462400070B4F6 /* PhotoButtonComponent.swift in Sources */, C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */, 82F9D3362BFE3B3C009EDFAF /* HistoryView.swift in Sources */, C20310D82BFCC2410031657D /* GeneralParametersMenuView.swift in Sources */, C2F3940B2C0463940070B4F6 /* ProfileComponent.swift in Sources */, C205A2B72BF373360097BD93 /* ArkitDoushiQiApp.swift in Sources */, + C24DAB5C2C061DC700681CD0 /* AI.swift in Sources */, C25220F32C00AF490026B71F /* EditComponent.swift in Sources */, C20310D62BFCB5FB0031657D /* PickerComponent.swift in Sources */, 82F9D3332BFE3B12009EDFAF /* HistoryHeader.swift in Sources */, diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/EditComponent.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/EditComponent.swift index 64540c9..073ca2b 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/EditComponent.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/EditComponent.swift @@ -14,7 +14,7 @@ struct EditComponent: View { var body: some View { Form { Section(header : Text(explanation)) { - TextField("Value", text : $name) + TextField(value, text : $name) } } } diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/PickerComponent.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/PickerComponent.swift index 489fd48..bd252de 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/PickerComponent.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/PickerComponent.swift @@ -49,13 +49,6 @@ struct PickerComponent: Vi } struct PickerComponent_Previews: PreviewProvider { - enum AI: String, CaseIterable, Identifiable, Hashable { - case RandomAction = "IA Random" - case EasyTrainedAI = "IA Facile" - case MediumTrainedAI = "IA Intermédiaire" - - var id: String { self.rawValue } - } @State static var selectedItem = AI.RandomAction static var previews: some View { PickerComponent( diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/ToggleComponent.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/ToggleComponent.swift index 5591a6a..0be4fe5 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/ToggleComponent.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/Components/Controls/ToggleComponent.swift @@ -30,7 +30,7 @@ struct ToggleComponent: View { struct ToggleComponent_Previews: PreviewProvider { static var previews: some View { VStack{ - ToggleComponent(description: "Dark mode", booleanName: "darkModeEnabled", booleanDefaultValue: false) + ToggleComponent(description: "Dark mode", booleanName: "isDarkMode", booleanDefaultValue: false) } } } diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/AI.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/AI.swift new file mode 100644 index 0000000..2569afe --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/AI.swift @@ -0,0 +1,16 @@ +// +// AI.swift +// ArkitDoushiQi +// +// Created by Johan LACHENAL on 28/05/2024. +// + +import Foundation + +enum AI: String, CaseIterable, Identifiable, Hashable { + case RandomAction = "IA Random" + case EasyTrainedAI = "IA Facile" + case MediumTrainedAI = "IA Intermédiaire" + + var id: String { self.rawValue } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/Language.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/Language.swift new file mode 100644 index 0000000..91b1a95 --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/Enum/Language.swift @@ -0,0 +1,14 @@ +// +// Language.swift +// ArkitDoushiQi +// +// Created by Johan LACHENAL on 28/05/2024. +// + +import Foundation + +enum Language: String, CaseIterable, Identifiable, Hashable { + case French = "Français" + case English = "English" + var id: String { self.rawValue } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/GeneralParametersMenu/GeneralParametersMenuView.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/GeneralParametersMenu/GeneralParametersMenuView.swift index 763506b..c24760a 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Views/GeneralParametersMenu/GeneralParametersMenuView.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/GeneralParametersMenu/GeneralParametersMenuView.swift @@ -7,23 +7,34 @@ import SwiftUI -enum Language: String, CaseIterable, Identifiable, Hashable { - case French = "Français" - case English = "English" - var id: String { self.rawValue } -} - struct GeneralParametersMenuView: View { - @State private var selectedAIOption: AIT = .RandomAction - @State private var selectedLanguageOption: Language = .French - @State private var selectedRulesOption: Rules = .Regular + @State private var selectedAIOption: AI + @State private var selectedLanguageOption: Language + @State private var selectedRulesOption: Rules + let ParametersTitle : String + let DarkModeDescription : String + let DarModeBooleanName : String + let DarkModeDefaultValue : Bool + let LanguagePickerTitle : String + + init(parametersTitle: String,selectedAIOption: AI, selectedLanguageOption: Language, selectedRulesOption: Rules, DarkModeDescription: String, DarModeBooleanName: String, DarkModeDefaultValue: Bool, LanguagePickerTitle: String) { + self.ParametersTitle = parametersTitle + self.selectedAIOption = selectedAIOption + self.selectedLanguageOption = selectedLanguageOption + self.selectedRulesOption = selectedRulesOption + self.DarkModeDescription = DarkModeDescription + self.DarModeBooleanName = DarModeBooleanName + self.DarkModeDefaultValue = DarkModeDefaultValue + self.LanguagePickerTitle = LanguagePickerTitle + } + var body: some View { VStack(alignment: .leading) { HStack(alignment: .center) { - Text("Paramètres").bold().font(.title) + Text(ParametersTitle).bold().font(.title) }.frame(maxWidth: .infinity) Spacer().frame(maxHeight: 30) - ToggleComponent(description: "Dark mode", booleanName: "darkModeEnabled", booleanDefaultValue: false) + ToggleComponent(description: "Dark mode", booleanName: "isDarkMode", booleanDefaultValue: false) PickerComponent(title: "Sélectionne un langage :", selectedOption: $selectedLanguageOption, options: Language.allCases) @@ -34,6 +45,15 @@ struct GeneralParametersMenuView: View { struct GeneralParametersMenuView_Previews: PreviewProvider { static var previews: some View { - GeneralParametersMenuView() + GeneralParametersMenuView( + parametersTitle: "Paramètres", + selectedAIOption: .RandomAction, + selectedLanguageOption: .French, + selectedRulesOption: .Regular, + DarkModeDescription: "Dark Mode", + DarModeBooleanName: "isDarkMode", + DarkModeDefaultValue: false, + LanguagePickerTitle: "Séléctionne un langage" + ) } } diff --git a/ArkitDoushiQi/ArkitDoushiQi/Views/MainMenu/MainMenu.swift b/ArkitDoushiQi/ArkitDoushiQi/Views/MainMenu/MainMenu.swift index b1ce79c..2d6ff90 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Views/MainMenu/MainMenu.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Views/MainMenu/MainMenu.swift @@ -32,7 +32,16 @@ struct MainMenu: View { { Text("parties enregistrées page") } Spacer().frame(height: 30) ButtonComponent(title: ParametersButtontText) - { GeneralParametersMenuView() } + { GeneralParametersMenuView( + parametersTitle: "Paramètres", + selectedAIOption: .RandomAction, + selectedLanguageOption: .French, + selectedRulesOption: .Regular, + DarkModeDescription: "Dark Mode", + DarModeBooleanName: "isDarkMode", + DarkModeDefaultValue: false, + LanguagePickerTitle: "Séléctionne un langage" + ) } } Spacer() }