From 20f5ebe048bbdf0106b50d24a3a66a46ac73af15 Mon Sep 17 00:00:00 2001 From: kabix09 Date: Sun, 4 Dec 2022 18:42:34 +0100 Subject: [PATCH] Fix dialogue modifications --- .../Resources/Dialogue/BossThugDialPl.asset | 39 ++++ .../Dialogue/BossThugDialPl.asset.meta | 8 + .../Domain.meta => Resources/Mission.meta} | 2 +- .../SampleScene/Enemies/BossThug.prefab | 172 ++---------------- .../UiPanels}/Dialogue.meta | 2 +- .../Dialogue/AcceptButton.prefab | 0 .../Dialogue/AcceptButton.prefab.meta | 0 .../{ => UiPanels}/Dialogue/BaseButton.prefab | 0 .../Dialogue/BaseButton.prefab.meta | 0 .../Dialogue/ContinueButton.prefab | 0 .../Dialogue/ContinueButton.prefab.meta | 0 .../Dialogue/DialoguePanel.prefab | 2 +- .../Dialogue/DialoguePanel.prefab.meta | 0 .../Dialogue/RejectButton.prefab | 0 .../Dialogue/RejectButton.prefab.meta | 0 .../{Dialogue.cs => DialogueNpcTest.cs} | 2 +- ...alogue.cs.meta => DialogueNpcTest.cs.meta} | 0 Assets/Scripts/Domain/Npc.meta | 8 - Assets/Scripts/Domain/Npc/NPCDialogue.cs | 19 -- Assets/Scripts/Domain/Npc/NPCDialogue.cs.meta | 11 -- .../Scripts/Domain/NpcDialogueManager.cs.meta | 11 -- Assets/Scripts/Domain/PanelTest.cs | 61 ------- Assets/Scripts/Domain/PanelTest.cs.meta | 11 -- Assets/Scripts/DoorBehaviour.cs | 12 +- .../Scripts/Enemies' Scprits/Cave/BossThug.cs | 21 ++- Assets/Scripts/NPCs' Scripts/NPCDialogue.cs | 14 +- Assets/Scripts/Pathfinding/Node.cs | 1 - .../Application/Dialogue.meta} | 2 +- .../Application/Dialogue/Dialogue.cs} | 81 ++++----- .../Application/Dialogue/Dialogue.cs.meta | 11 ++ .../Dialogue/DialogueController.cs | 5 +- .../Dialogue/DialogueController.cs.meta | 0 .../Application}/Dialogue/Model.meta | 0 .../Dialogue/Model/DialogueModel.cs | 0 .../Dialogue/Model/DialogueModel.cs.meta | 0 .../Dialogue/Model/DialogueStepModel.cs | 8 +- .../Dialogue/Model/DialogueStepModel.cs.meta | 0 .../Application/Dialogue/Panel.meta | 8 + .../Dialogue/Panel}/AbstractPanel.cs | 0 .../Dialogue/Panel}/AbstractPanel.cs.meta | 2 +- .../Application/Dialogue/Panel}/Enum.meta | 2 +- .../Dialogue/Panel}/Enum/PanelButtonEnum.cs | 0 .../Panel}/Enum/PanelButtonEnum.cs.meta | 0 .../Application/Dialogue/Panel}/Factory.meta | 2 +- .../Panel}/Factory/PanelComponentFactory.cs | 0 .../Factory/PanelComponentFactory.cs.meta | 0 .../Dialogue/Panel}/Factory/PanelFactory.cs | 0 .../Panel}/Factory/PanelFactory.cs.meta | 0 .../Application/Dialogue/Panel}/IPanel.cs | 0 .../Dialogue/Panel}/IPanel.cs.meta | 2 +- .../Application/Dialogue/Panel}/Loader.meta | 2 +- .../Loader/DialoguePanelsPrefabsLoader.cs | 2 +- .../DialoguePanelsPrefabsLoader.cs.meta | 0 .../Application/Dialogue/Panel}/Model.meta | 2 +- .../Dialogue/Panel}/Model/ButtonPanelModel.cs | 0 .../Panel}/Model/ButtonPanelModel.cs.meta | 0 .../Panel}/Model/PanelButtonStepModel.cs | 0 .../Panel}/Model/PanelButtonStepModel.cs.meta | 0 .../Application/Dialogue/Panel}/Panel.cs | 0 .../Application/Dialogue/Panel}/Panel.cs.meta | 2 +- .../Dialogue/Panel}/QuestionPanel.cs | 0 .../Dialogue/Panel}/QuestionPanel.cs.meta | 2 +- .../REFACTORING/Application/Mission.meta | 8 + .../Application/Mission/Mission.cs | 35 ++++ .../Application/Mission/Mission.cs.meta | 11 ++ .../Application/Mission/MissionReward.cs | 40 ++++ .../Application/Mission/MissionReward.cs.meta | 11 ++ .../Application/Mission/Model.meta | 8 + .../Mission/Model/MissionStepModel.cs | 46 +++++ .../Mission/Model/MissionStepModel.cs.meta | 11 ++ .../Application/Mission/NpcMissionManager.cs | 33 ++++ .../Mission/NpcMissionManager.cs.meta | 11 ++ .../Scripts/REFACTORING/Application/NPC.meta | 8 + .../Application/NPC/NpcDialogueManager.cs | 71 ++++++++ .../REFACTORING/Application/Player.meta | 8 + .../Application/Player/PlayerActions.cs | 34 ++++ .../Application/Player/PlayerActions.cs.meta | 11 ++ .../REFACTORING/Application/Quest.meta | 8 + .../Domain/Enum/MissionStatusEnum.cs | 39 ++++ .../Domain/Enum/MissionStatusEnum.cs.meta | 11 ++ .../Domain/Enum/MissionStepStatusEnum.cs | 30 +++ .../Domain/Enum/MissionStepStatusEnum.cs.meta | 11 ++ .../Scripts/REFACTORING/Models/Chest/Chest.cs | 5 + Assets/Scripts/SaveController.cs | 6 +- 84 files changed, 625 insertions(+), 360 deletions(-) create mode 100644 Assets/Resources/Dialogue/BossThugDialPl.asset create mode 100644 Assets/Resources/Dialogue/BossThugDialPl.asset.meta rename Assets/{Scripts/Domain.meta => Resources/Mission.meta} (77%) rename Assets/{Scripts/Domain => Resources/UiPanels}/Dialogue.meta (77%) rename Assets/Resources/{ => UiPanels}/Dialogue/AcceptButton.prefab (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/AcceptButton.prefab.meta (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/BaseButton.prefab (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/BaseButton.prefab.meta (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/ContinueButton.prefab (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/ContinueButton.prefab.meta (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/DialoguePanel.prefab (99%) rename Assets/Resources/{ => UiPanels}/Dialogue/DialoguePanel.prefab.meta (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/RejectButton.prefab (100%) rename Assets/Resources/{ => UiPanels}/Dialogue/RejectButton.prefab.meta (100%) rename Assets/Scripts/{Dialogue.cs => DialogueNpcTest.cs} (84%) rename Assets/Scripts/{Dialogue.cs.meta => DialogueNpcTest.cs.meta} (100%) delete mode 100644 Assets/Scripts/Domain/Npc.meta delete mode 100644 Assets/Scripts/Domain/Npc/NPCDialogue.cs delete mode 100644 Assets/Scripts/Domain/Npc/NPCDialogue.cs.meta delete mode 100644 Assets/Scripts/Domain/NpcDialogueManager.cs.meta delete mode 100644 Assets/Scripts/Domain/PanelTest.cs delete mode 100644 Assets/Scripts/Domain/PanelTest.cs.meta rename Assets/Scripts/{Domain/DialoguePanel.meta => REFACTORING/Application/Dialogue.meta} (77%) rename Assets/Scripts/{Domain/NpcDialogueManager.cs => REFACTORING/Application/Dialogue/Dialogue.cs} (67%) create mode 100644 Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs.meta rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/DialogueController.cs (96%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/DialogueController.cs.meta (100%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/Model.meta (100%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/Model/DialogueModel.cs (100%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/Model/DialogueModel.cs.meta (100%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/Model/DialogueStepModel.cs (90%) rename Assets/Scripts/{Domain => REFACTORING/Application}/Dialogue/Model/DialogueStepModel.cs.meta (100%) create mode 100644 Assets/Scripts/REFACTORING/Application/Dialogue/Panel.meta rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/AbstractPanel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/AbstractPanel.cs.meta (83%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Enum.meta (77%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Enum/PanelButtonEnum.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Enum/PanelButtonEnum.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Factory.meta (77%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Factory/PanelComponentFactory.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Factory/PanelComponentFactory.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Factory/PanelFactory.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Factory/PanelFactory.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/IPanel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/IPanel.cs.meta (83%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Loader.meta (77%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Loader/DialoguePanelsPrefabsLoader.cs (92%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Loader/DialoguePanelsPrefabsLoader.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Model.meta (77%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Model/ButtonPanelModel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Model/ButtonPanelModel.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Model/PanelButtonStepModel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Model/PanelButtonStepModel.cs.meta (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Panel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/Panel.cs.meta (83%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/QuestionPanel.cs (100%) rename Assets/Scripts/{Domain/DialoguePanel => REFACTORING/Application/Dialogue/Panel}/QuestionPanel.cs.meta (83%) create mode 100644 Assets/Scripts/REFACTORING/Application/Mission.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/Mission.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/Mission.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/Model.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Application/NPC.meta create mode 100644 Assets/Scripts/REFACTORING/Application/NPC/NpcDialogueManager.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Player.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs create mode 100644 Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Application/Quest.meta create mode 100644 Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs create mode 100644 Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs.meta create mode 100644 Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs create mode 100644 Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs.meta diff --git a/Assets/Resources/Dialogue/BossThugDialPl.asset b/Assets/Resources/Dialogue/BossThugDialPl.asset new file mode 100644 index 00000000..9f133831 --- /dev/null +++ b/Assets/Resources/Dialogue/BossThugDialPl.asset @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45b41589283138641ba006c2243b0637, type: 3} + m_Name: BossThugDialPl + m_EditorClassIdentifier: + CurrentDialogue: 0 + MultiWayDialogue: + - Key: 0 + Value: + - WasDisplayed: 0 + ListOfSentences: + - Sentence: Who are you? Hod did you get past my guards?! + Buttons: [] + - Sentence: Don't answer. I don't care anyway. You're dead to me/. + Buttons: [] + EndOfDialogueStepAction: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5064228440392526989, guid: df6c42c9616028a4badca81953f003ab, type: 3} + m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp + m_MethodName: DialogueEndAction + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 diff --git a/Assets/Resources/Dialogue/BossThugDialPl.asset.meta b/Assets/Resources/Dialogue/BossThugDialPl.asset.meta new file mode 100644 index 00000000..98573fba --- /dev/null +++ b/Assets/Resources/Dialogue/BossThugDialPl.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b47b2441f5e5f9e4ab687bf2a2fddbfa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Domain.meta b/Assets/Resources/Mission.meta similarity index 77% rename from Assets/Scripts/Domain.meta rename to Assets/Resources/Mission.meta index 8ae7a39c..e5ea0c56 100644 --- a/Assets/Scripts/Domain.meta +++ b/Assets/Resources/Mission.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 77f7d32936a4c7e4eb701860aa12e1dd +guid: 90d7448077899e542a82198b14160cc1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/SampleScene/Enemies/BossThug.prefab b/Assets/Resources/SampleScene/Enemies/BossThug.prefab index 41763f30..767a8d1f 100644 --- a/Assets/Resources/SampleScene/Enemies/BossThug.prefab +++ b/Assets/Resources/SampleScene/Enemies/BossThug.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 482428332992622010} - component: {fileID: 482428332992622011} - component: {fileID: 482428332992622007} - - component: {fileID: 5064228440392526989} + - component: {fileID: 4267060477434669900} - component: {fileID: 482428332992622006} - component: {fileID: 482428332992622001} - component: {fileID: -4365747932373452915} @@ -35,6 +35,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -2.5, y: 75, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -50,6 +51,7 @@ SpriteRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -153,7 +155,7 @@ CircleCollider2D: m_Offset: {x: 0, y: -0.5} serializedVersion: 2 m_Radius: 1.2 ---- !u!114 &5064228440392526989 +--- !u!114 &4267060477434669900 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -162,24 +164,22 @@ MonoBehaviour: m_GameObject: {fileID: 482428332992622009} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f5e03e1acc0dd994786778db1f72ce69, type: 3} + m_Script: {fileID: 11500000, guid: 2bd5e7fa2661ee649861ce0b80373740, type: 3} m_Name: m_EditorClassIdentifier: - DialogueStepsList: - - WasDisplayed: 0 - ListOfSentences: - - Sentence: Who are you? How did you get past my guards?! - Buttons: [] - - Sentence: Don't answer, I don't care anyway. You're dead to me. - Buttons: [] - Rewards: [] - EndOfDialogueStepAction: + DialogueTemplate: {fileID: 11400000, guid: b47b2441f5e5f9e4ab687bf2a2fddbfa, type: 2} + Dialogue: {fileID: 0} + EndactionEventList: + - Key: + Key: 0 + Value: 0 + Value: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 482428332992622001} - m_TargetAssemblyTypeName: BossThug, Assembly-CSharp - m_MethodName: ChanegStatusToAttack - m_Mode: 1 + - m_Target: {fileID: 4267060477434669900} + m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp + m_MethodName: DialogueEndAction + m_Mode: 3 m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine @@ -188,141 +188,6 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 - CurrentDialogue: 0 - MultiWayDialogue: - - Key: 0 - Value: - - WasDisplayed: 0 - ListOfSentences: - - Sentence: test - Buttons: [] - - Sentence: test 1.1 - Buttons: - - ButtonName: Ok - Type: 1 - ButtonActions: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5064228440392526989} - m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp - m_MethodName: GoToNextSentence - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 1 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - Rewards: [] - EndOfDialogueStepAction: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5064228440392526989} - m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp - m_MethodName: TestEndAction - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - WasDisplayed: 0 - ListOfSentences: - - Sentence: test 1.2 - Buttons: [] - - Sentence: test 1.2.3 - Buttons: - - ButtonName: way 1.2 - Type: 1 - ButtonActions: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5064228440392526989} - m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp - m_MethodName: SetNextDialogue - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 1 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - Rewards: [] - EndOfDialogueStepAction: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 482428332992622001} - m_TargetAssemblyTypeName: BossThug, Assembly-CSharp - m_MethodName: BreakConversation - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - Key: 1 - Value: - - WasDisplayed: 0 - ListOfSentences: - - Sentence: test 2 - Buttons: - - ButtonName: test 2.1 ans - Type: 1 - ButtonActions: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5064228440392526989} - m_TargetAssemblyTypeName: NpcDialogueManager, Assembly-CSharp - m_MethodName: GoToNextSentence - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - Sentence: test 2.1 - Buttons: [] - Rewards: [] - EndOfDialogueStepAction: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 482428332992622001} - m_TargetAssemblyTypeName: BossThug, Assembly-CSharp - m_MethodName: ChanegStatusToAttack - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 482428332992622001} - m_TargetAssemblyTypeName: BossThug, Assembly-CSharp - m_MethodName: SetEndConversation - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 --- !u!114 &482428332992622006 MonoBehaviour: m_ObjectHideFlags: 0 @@ -381,10 +246,10 @@ MonoBehaviour: newController: {fileID: 0} isAfterConversation: 0 isDuringConversation: 0 - state: 1 + state: 0 --- !u!95 &-4365747932373452915 Animator: - serializedVersion: 3 + serializedVersion: 4 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -397,6 +262,7 @@ Animator: m_UpdateMode: 0 m_ApplyRootMotion: 0 m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 m_WarningMessage: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 diff --git a/Assets/Scripts/Domain/Dialogue.meta b/Assets/Resources/UiPanels/Dialogue.meta similarity index 77% rename from Assets/Scripts/Domain/Dialogue.meta rename to Assets/Resources/UiPanels/Dialogue.meta index 79a76287..1bf2b25a 100644 --- a/Assets/Scripts/Domain/Dialogue.meta +++ b/Assets/Resources/UiPanels/Dialogue.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bb36c2a18afa1a7489740405a40119b2 +guid: 15d4a2b0037a59742b016f2c5de5b086 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Dialogue/AcceptButton.prefab b/Assets/Resources/UiPanels/Dialogue/AcceptButton.prefab similarity index 100% rename from Assets/Resources/Dialogue/AcceptButton.prefab rename to Assets/Resources/UiPanels/Dialogue/AcceptButton.prefab diff --git a/Assets/Resources/Dialogue/AcceptButton.prefab.meta b/Assets/Resources/UiPanels/Dialogue/AcceptButton.prefab.meta similarity index 100% rename from Assets/Resources/Dialogue/AcceptButton.prefab.meta rename to Assets/Resources/UiPanels/Dialogue/AcceptButton.prefab.meta diff --git a/Assets/Resources/Dialogue/BaseButton.prefab b/Assets/Resources/UiPanels/Dialogue/BaseButton.prefab similarity index 100% rename from Assets/Resources/Dialogue/BaseButton.prefab rename to Assets/Resources/UiPanels/Dialogue/BaseButton.prefab diff --git a/Assets/Resources/Dialogue/BaseButton.prefab.meta b/Assets/Resources/UiPanels/Dialogue/BaseButton.prefab.meta similarity index 100% rename from Assets/Resources/Dialogue/BaseButton.prefab.meta rename to Assets/Resources/UiPanels/Dialogue/BaseButton.prefab.meta diff --git a/Assets/Resources/Dialogue/ContinueButton.prefab b/Assets/Resources/UiPanels/Dialogue/ContinueButton.prefab similarity index 100% rename from Assets/Resources/Dialogue/ContinueButton.prefab rename to Assets/Resources/UiPanels/Dialogue/ContinueButton.prefab diff --git a/Assets/Resources/Dialogue/ContinueButton.prefab.meta b/Assets/Resources/UiPanels/Dialogue/ContinueButton.prefab.meta similarity index 100% rename from Assets/Resources/Dialogue/ContinueButton.prefab.meta rename to Assets/Resources/UiPanels/Dialogue/ContinueButton.prefab.meta diff --git a/Assets/Resources/Dialogue/DialoguePanel.prefab b/Assets/Resources/UiPanels/Dialogue/DialoguePanel.prefab similarity index 99% rename from Assets/Resources/Dialogue/DialoguePanel.prefab rename to Assets/Resources/UiPanels/Dialogue/DialoguePanel.prefab index ac6e838c..fea54240 100644 --- a/Assets/Resources/Dialogue/DialoguePanel.prefab +++ b/Assets/Resources/UiPanels/Dialogue/DialoguePanel.prefab @@ -194,7 +194,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 75} + m_AnchoredPosition: {x: 0, y: 81.5} m_SizeDelta: {x: 800, y: 665} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2835830911057077562 diff --git a/Assets/Resources/Dialogue/DialoguePanel.prefab.meta b/Assets/Resources/UiPanels/Dialogue/DialoguePanel.prefab.meta similarity index 100% rename from Assets/Resources/Dialogue/DialoguePanel.prefab.meta rename to Assets/Resources/UiPanels/Dialogue/DialoguePanel.prefab.meta diff --git a/Assets/Resources/Dialogue/RejectButton.prefab b/Assets/Resources/UiPanels/Dialogue/RejectButton.prefab similarity index 100% rename from Assets/Resources/Dialogue/RejectButton.prefab rename to Assets/Resources/UiPanels/Dialogue/RejectButton.prefab diff --git a/Assets/Resources/Dialogue/RejectButton.prefab.meta b/Assets/Resources/UiPanels/Dialogue/RejectButton.prefab.meta similarity index 100% rename from Assets/Resources/Dialogue/RejectButton.prefab.meta rename to Assets/Resources/UiPanels/Dialogue/RejectButton.prefab.meta diff --git a/Assets/Scripts/Dialogue.cs b/Assets/Scripts/DialogueNpcTest.cs similarity index 84% rename from Assets/Scripts/Dialogue.cs rename to Assets/Scripts/DialogueNpcTest.cs index 9e065be0..d619e420 100644 --- a/Assets/Scripts/Dialogue.cs +++ b/Assets/Scripts/DialogueNpcTest.cs @@ -4,7 +4,7 @@ using UnityEngine; [System.Serializable] -public class Dialogue +public class DialogueNpcTest { public string name; public string[] sentences; diff --git a/Assets/Scripts/Dialogue.cs.meta b/Assets/Scripts/DialogueNpcTest.cs.meta similarity index 100% rename from Assets/Scripts/Dialogue.cs.meta rename to Assets/Scripts/DialogueNpcTest.cs.meta diff --git a/Assets/Scripts/Domain/Npc.meta b/Assets/Scripts/Domain/Npc.meta deleted file mode 100644 index 56b105f1..00000000 --- a/Assets/Scripts/Domain/Npc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c476500c7ecfac541965f502f56b3df1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Domain/Npc/NPCDialogue.cs b/Assets/Scripts/Domain/Npc/NPCDialogue.cs deleted file mode 100644 index 82e5f3bb..00000000 --- a/Assets/Scripts/Domain/Npc/NPCDialogue.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/*public class NPCDialogue : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} -*/ \ No newline at end of file diff --git a/Assets/Scripts/Domain/Npc/NPCDialogue.cs.meta b/Assets/Scripts/Domain/Npc/NPCDialogue.cs.meta deleted file mode 100644 index 5951ca79..00000000 --- a/Assets/Scripts/Domain/Npc/NPCDialogue.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f061cf69f5299d0479086e9e07c3152b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Domain/NpcDialogueManager.cs.meta b/Assets/Scripts/Domain/NpcDialogueManager.cs.meta deleted file mode 100644 index b25adc63..00000000 --- a/Assets/Scripts/Domain/NpcDialogueManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f5e03e1acc0dd994786778db1f72ce69 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Domain/PanelTest.cs b/Assets/Scripts/Domain/PanelTest.cs deleted file mode 100644 index e70afd77..00000000 --- a/Assets/Scripts/Domain/PanelTest.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using System; - -public class PanelTest : MonoBehaviour -{ - [SerializeField] bool Custom = true; - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } - - private void CustomPanel() - { - Debug.Log("Accept press"); - } - - private void QuestionPanel() - { - Debug.Log("Reject press"); - } - - private void EndDialogue() - { - Debug.Log("End dialogue :D"); - } -} - -public class NPCDialogue2 : MonoBehaviour -{ -/* List DialogueStepsList; - public void Start() - { - DialogueController DialogueStep = new DialogueController(); - DialogueStep.AddSentence(new DialogueModel("lorem ipsum")); -*//* DialogueStep.AddSentence(new QuestionDialogueModel("tolore dolore?", - new List> { - new Tuple("AcceptButton", CustomPanel), - new Tuple("RejectButton", QuestionPanel) - }));*//* - DialogueStep.SetActionAfterDialogueEnds(() => { }); - - DialogueStepModel dialogueStepModel = new DialogueStepModel(DialogueStep); - - DialogueStepsList = new List { dialogueStepModel }; - } - - public void ShowStep() - { - DialogueStepsList[0].DialogueController.Show(DialogueStepsList[0].DialogueController.listOfDialogue.Dequeue()); - }*/ -} diff --git a/Assets/Scripts/Domain/PanelTest.cs.meta b/Assets/Scripts/Domain/PanelTest.cs.meta deleted file mode 100644 index 885cc88f..00000000 --- a/Assets/Scripts/Domain/PanelTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 994cbfd834e92c5409d3e3df4664e86e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/DoorBehaviour.cs b/Assets/Scripts/DoorBehaviour.cs index 54e8e31c..c50caa42 100644 --- a/Assets/Scripts/DoorBehaviour.cs +++ b/Assets/Scripts/DoorBehaviour.cs @@ -35,15 +35,15 @@ public class DoorBehaviour : MonoBehaviour PlayerPrefs.SetFloat("gateway.respawnCoords.z", gateway.respawnCoords.z); // 1. Save all before change scene - SaveController.GetComponent().SaveItems(); - SaveController.GetComponent().SaveQuests(); - SaveController.GetComponent().SaveInventory(); + SaveController.GetComponent().SavePlayerEquipmentItems(); + SaveController.GetComponent().SavePlayerQuests(); + SaveController.GetComponent().SavePlayerInventory(); SaveController.GetComponent().SaveHealth(); // 1. Save all befor change scene - // SaveController.GetComponent().SaveItems(); - SaveController.GetComponent().SaveQuests(); - // SaveController.GetComponent().SaveInventory(); + // SaveController.GetComponent().SavePlayerEquipmentItems(); + SaveController.GetComponent().SavePlayerQuests(); + // SaveController.GetComponent().SavePlayerInventory(); // 2. Change scene SceneManager.LoadScene(gateway.nextMapName); diff --git a/Assets/Scripts/Enemies' Scprits/Cave/BossThug.cs b/Assets/Scripts/Enemies' Scprits/Cave/BossThug.cs index df770152..3df4c656 100644 --- a/Assets/Scripts/Enemies' Scprits/Cave/BossThug.cs +++ b/Assets/Scripts/Enemies' Scprits/Cave/BossThug.cs @@ -92,6 +92,10 @@ public class BossThug : MonoBehaviour public void ChanegStatusToAttack() { + BreakConversation(); + + SetEndConversation(); + state = BossThugEnum.Attacking; } @@ -100,40 +104,38 @@ public class BossThug : MonoBehaviour { if (other.tag == "Player" && state == BossThugEnum.Talking && !isAfterConversation && !isDuringConversation) { - + Debug.Log("OnTriggerEnter2D"); //gameObject.GetComponent().enabled = false; //gameObject.GetComponent().radius = 2f; isDuringConversation = true; - gameObject.GetComponent().StartDialogue(); + gameObject.GetComponent().Dialogue.StartDialogue(); } } - public void OnTriggerStay2D(Collider2D other) + /*public void OnTriggerStay2D(Collider2D other) { if (other.tag == "Player" && state == BossThugEnum.Talking && !isAfterConversation && !isDuringConversation) { isDuringConversation = true; - gameObject.GetComponent().StartDialogue(); + gameObject.GetComponent().Dialogue.StartDialogue(); } - } + }*/ public void OnTriggerExit2D(Collider2D other) { if (other.tag == "Player" && state == BossThugEnum.Talking && !isAfterConversation && isDuringConversation) { - Debug.Log("break dialogue"); - //gameObject.GetComponent().enabled = true; //gameObject.GetComponent().radius = 2f; isDuringConversation = false; - gameObject.GetComponent().BreakDialogue(); + gameObject.GetComponent().Dialogue.BreakDialogue(); //TODO break dialogue after leaving collider range!!! } @@ -147,6 +149,9 @@ public class BossThug : MonoBehaviour isDuringConversation = false; } + /// + /// Mark conversation as finished + /// public void SetEndConversation() { isAfterConversation = true; diff --git a/Assets/Scripts/NPCs' Scripts/NPCDialogue.cs b/Assets/Scripts/NPCs' Scripts/NPCDialogue.cs index c6076b39..7498a16d 100644 --- a/Assets/Scripts/NPCs' Scripts/NPCDialogue.cs +++ b/Assets/Scripts/NPCs' Scripts/NPCDialogue.cs @@ -11,17 +11,17 @@ public class NPCDialogue : MonoBehaviour public Text nameText2; public Text dialogueText; //first dialogue - public Dialogue dialogue; + public DialogueNpcTest dialogue; //dialogue during quest - public Dialogue dialogueWQuest; + public DialogueNpcTest dialogueWQuest; //dialotgue after quest - public Dialogue dialogueAQuest; + public DialogueNpcTest dialogueAQuest; //first dialogue - public Dialogue dialoguePolish; + public DialogueNpcTest dialoguePolish; //dialogue during quest - public Dialogue dialogueWQuestPolish; + public DialogueNpcTest dialogueWQuestPolish; //dialotgue after quest - public Dialogue dialogueAQuestPolish; + public DialogueNpcTest dialogueAQuestPolish; private string language; @@ -218,7 +218,7 @@ public class NPCDialogue : MonoBehaviour } - public void StartDialogue(Dialogue dialogue) + public void StartDialogue(DialogueNpcTest dialogue) { nameText.text = dialogue.name; nameText1.text = dialogue.name; diff --git a/Assets/Scripts/Pathfinding/Node.cs b/Assets/Scripts/Pathfinding/Node.cs index 122e35e8..ef2acfb4 100644 --- a/Assets/Scripts/Pathfinding/Node.cs +++ b/Assets/Scripts/Pathfinding/Node.cs @@ -1,6 +1,5 @@ using System.Collections; using System.Collections.Generic; -using UnityEditor.Build.Content; using UnityEngine; [System.Serializable] public class Node diff --git a/Assets/Scripts/Domain/DialoguePanel.meta b/Assets/Scripts/REFACTORING/Application/Dialogue.meta similarity index 77% rename from Assets/Scripts/Domain/DialoguePanel.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue.meta index c3b3022c..0e19c3ac 100644 --- a/Assets/Scripts/Domain/DialoguePanel.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3f046684cddc2ca4c8d476952e4f48cf +guid: 9d8ad5f0a8e5a4341b7122164fdcfe6f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Domain/NpcDialogueManager.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs similarity index 67% rename from Assets/Scripts/Domain/NpcDialogueManager.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs index e3503dc1..e089de34 100644 --- a/Assets/Scripts/Domain/NpcDialogueManager.cs +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs @@ -1,16 +1,12 @@ -using System; -using System.Collections; +using System; using System.Collections.Generic; using System.Linq; using UnityEngine; [Serializable] -public class NpcDialogueManager : MonoBehaviour +[CreateAssetMenu(fileName = "New Dialogue", menuName = "Dialogue/New Dialogue")] +public class Dialogue : ScriptableObject { - [SerializeField] - public List DialogueStepsList; - - [SerializeField] int CurrentDialogue = 0; @@ -32,23 +28,23 @@ public class NpcDialogueManager : MonoBehaviour public void Start() { - /* CODE DIALOGUE DECLARATION EXAMPLE + /* CODE DIALOGUE DECLARATION EXAMPLE - DialogueController DialogueStep = new DialogueController(); - DialogueStep.AddSentence(new DialogueModel("lorem ipsum")); - *//* di.AddSentence(new QuestionDialogueModel("tolore dolore?", - new List> { - new Tuple("AcceptButton", CustomPanel), - new Tuple("RejectButton", QuestionPanel) - }));*//* - DialogueStep.SetActionAfterDialogueEnds(() => { }); + DialogueController DialogueStep = new DialogueController(); + DialogueStep.AddSentence(new DialogueModel("lorem ipsum")); + *//* di.AddSentence(new QuestionDialogueModel("tolore dolore?", + new List> { + new Tuple("AcceptButton", CustomPanel), + new Tuple("RejectButton", QuestionPanel) + }));*//* + DialogueStep.SetActionAfterDialogueEnds(() => { }); - DialogueStepModel dialogueStepModel = new DialogueStepModel(DialogueStep); + DialogueStepModel dialogueStepModel = new DialogueStepModel(DialogueStep); - DialogueStepsList = new List { dialogueStepModel }; - */ - if(MultiWayDialogue.Count > 0) - BuildDialogue(MultiWayDialogue.Where(el => el.Key == CurrentDialogue).First().Value); + DialogueStepsList = new List { dialogueStepModel }; + */ + /*if (MultiWayDialogue.Count > 0) + BuildDialogue(MultiWayDialogue.Where(el => el.Key == CurrentDialogue).First().Value);*/ } public void StartDialogue() @@ -64,16 +60,19 @@ public class NpcDialogueManager : MonoBehaviour { // 1. Find first yet undisplayed for player anbd show - DialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; + var dialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; - foreach (var DialogueStep in DialogueStepsList) + foreach (var DialogueStep in dialogueStepsList) { + Debug.Log($"List of dialogue count: {DialogueStep.DialogueController.listOfDialogue.Count}"); if (!DialogueStep.WasDisplayed && DialogueStep.DialogueController.listOfDialogue.Count != 0) { + Debug.Log("Break Dialogue - close panel"); DialogueStep.DialogueController.CloseCurrentPanel(); // close panel break; } + Debug.Log("a"); } } @@ -89,11 +88,11 @@ public class NpcDialogueManager : MonoBehaviour { // 1. Find first yet undisplayed for player anbd show - DialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; + var dialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; - foreach (var DialogueStep in DialogueStepsList) + foreach (var DialogueStep in dialogueStepsList) { - if(!DialogueStep.WasDisplayed && DialogueStep.DialogueController.listOfDialogue.Count != 0) + if (!DialogueStep.WasDisplayed && DialogueStep.DialogueController.listOfDialogue.Count != 0) { DialogueStep.DialogueController.Show(DialogueStep.DialogueController.listOfDialogue.Dequeue()); // create panel @@ -116,9 +115,9 @@ public class NpcDialogueManager : MonoBehaviour { // 1. Find first yet undisplayed for player anbd show - DialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; + var dialogueStepsList = MultiWayDialogue.Where(el => el.Key == CurrentDialogue).ToArray().First().Value; - foreach (var DialogueStep in DialogueStepsList) + foreach (var DialogueStep in dialogueStepsList) { if (!DialogueStep.WasDisplayed) { @@ -176,17 +175,6 @@ public class NpcDialogueManager : MonoBehaviour ShowStep(); } - /// - /// Build each step of dialogue - /// - private void BuildDialogue() - { - foreach(var dialogueStep in DialogueStepsList) - { - dialogueStep.Build(); - } - } - /// /// Build each step of dialogue /// @@ -198,8 +186,17 @@ public class NpcDialogueManager : MonoBehaviour } } - public void TestEndAction() + public (int, int) DialogueStepStatus() { - Debug.Log("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + var currentDialogueStepIndex = MultiWayDialogue + .Where(el => el.Key == CurrentDialogue) + .Select(el => el.Value) + .First() + .Where(step => step.WasDisplayed == true) + .ToArray() + .Count() + ; + + return(CurrentDialogue, currentDialogueStepIndex); } -} \ No newline at end of file +} diff --git a/Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs.meta new file mode 100644 index 00000000..7e7cfe65 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Dialogue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45b41589283138641ba006c2243b0637 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Domain/Dialogue/DialogueController.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/DialogueController.cs similarity index 96% rename from Assets/Scripts/Domain/Dialogue/DialogueController.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/DialogueController.cs index 0a2c9e06..228fc768 100644 --- a/Assets/Scripts/Domain/Dialogue/DialogueController.cs +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/DialogueController.cs @@ -68,7 +68,7 @@ public class DialogueController if (listOfDialogue.Count == 0) { CloseCurrentPanel(parentDialController); - FinishDialogue(); + FinishDialoguStep(); return false; } @@ -91,12 +91,13 @@ public class DialogueController public void CloseCurrentPanel() { + Debug.Log(CurrentPanel); MonoBehaviour.Destroy(CurrentPanel); } // if palyer click last dialogue panel's "continue" button then ShowNextPanel // function invoke this method whioch contain external action :D - MAGIC - public void FinishDialogue() + public void FinishDialoguStep() { // set uoe everything whats is needed to change after finish dialogue // eg. diff --git a/Assets/Scripts/Domain/Dialogue/DialogueController.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/DialogueController.cs.meta similarity index 100% rename from Assets/Scripts/Domain/Dialogue/DialogueController.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/DialogueController.cs.meta diff --git a/Assets/Scripts/Domain/Dialogue/Model.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Model.meta similarity index 100% rename from Assets/Scripts/Domain/Dialogue/Model.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Model.meta diff --git a/Assets/Scripts/Domain/Dialogue/Model/DialogueModel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueModel.cs similarity index 100% rename from Assets/Scripts/Domain/Dialogue/Model/DialogueModel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueModel.cs diff --git a/Assets/Scripts/Domain/Dialogue/Model/DialogueModel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueModel.cs.meta similarity index 100% rename from Assets/Scripts/Domain/Dialogue/Model/DialogueModel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueModel.cs.meta diff --git a/Assets/Scripts/Domain/Dialogue/Model/DialogueStepModel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueStepModel.cs similarity index 90% rename from Assets/Scripts/Domain/Dialogue/Model/DialogueStepModel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueStepModel.cs index e7c42a1b..100829b5 100644 --- a/Assets/Scripts/Domain/Dialogue/Model/DialogueStepModel.cs +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueStepModel.cs @@ -14,9 +14,6 @@ public class DialogueStepModel [SerializeField] // list to map to queue in DialogueController public List ListOfSentences = new List(); - [SerializeField] - public List Rewards; - [SerializeField] public UnityEvent EndOfDialogueStepAction = new UnityEvent(); @@ -50,6 +47,11 @@ public class DialogueStepModel } // 3. Bind finishing action + + // 3.1 Add marked step as displayed action + EndOfDialogueStepAction.AddListener(() => WasDisplayed = true); + + // 3.2 Bind actions DialogueController.SetActionAfterDialogueEnds(EndOfDialogueStepAction); } } \ No newline at end of file diff --git a/Assets/Scripts/Domain/Dialogue/Model/DialogueStepModel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueStepModel.cs.meta similarity index 100% rename from Assets/Scripts/Domain/Dialogue/Model/DialogueStepModel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Model/DialogueStepModel.cs.meta diff --git a/Assets/Scripts/REFACTORING/Application/Dialogue/Panel.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel.meta new file mode 100644 index 00000000..74317574 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4639c29041f29a4884b02fd01acf48f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Domain/DialoguePanel/AbstractPanel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/AbstractPanel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/AbstractPanel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/AbstractPanel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/AbstractPanel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/AbstractPanel.cs.meta similarity index 83% rename from Assets/Scripts/Domain/DialoguePanel/AbstractPanel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/AbstractPanel.cs.meta index 991a3501..3cbf0dbe 100644 --- a/Assets/Scripts/Domain/DialoguePanel/AbstractPanel.cs.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/AbstractPanel.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a977b11a47df30d4d8eaf12b6b2c5841 +guid: bc9eb520a472ac94a936fca330546191 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/Domain/DialoguePanel/Enum.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum.meta similarity index 77% rename from Assets/Scripts/Domain/DialoguePanel/Enum.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum.meta index 3a3c75a3..803b6b44 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Enum.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 278e9b2867c25a34a83c1ee671b92ff2 +guid: b7c3ffe7db8284f44a7fdff82b15299b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Domain/DialoguePanel/Enum/PanelButtonEnum.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum/PanelButtonEnum.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Enum/PanelButtonEnum.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum/PanelButtonEnum.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Enum/PanelButtonEnum.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum/PanelButtonEnum.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Enum/PanelButtonEnum.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Enum/PanelButtonEnum.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/Factory.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory.meta similarity index 77% rename from Assets/Scripts/Domain/DialoguePanel/Factory.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory.meta index 24b4d155..29417c65 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Factory.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 800b3a20b12cb1344be0f4be6737c5d5 +guid: 098377c3594ac364d87eac3b64e34340 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Domain/DialoguePanel/Factory/PanelComponentFactory.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelComponentFactory.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Factory/PanelComponentFactory.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelComponentFactory.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Factory/PanelComponentFactory.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelComponentFactory.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Factory/PanelComponentFactory.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelComponentFactory.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/Factory/PanelFactory.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelFactory.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Factory/PanelFactory.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelFactory.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Factory/PanelFactory.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelFactory.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Factory/PanelFactory.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Factory/PanelFactory.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/IPanel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/IPanel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/IPanel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/IPanel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/IPanel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/IPanel.cs.meta similarity index 83% rename from Assets/Scripts/Domain/DialoguePanel/IPanel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/IPanel.cs.meta index 58b10aab..f9e425be 100644 --- a/Assets/Scripts/Domain/DialoguePanel/IPanel.cs.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/IPanel.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9580a39674501e74cb88f9f62e5fbbcf +guid: 8b8e1058c2b92f44485fdaae1fd02248 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/Domain/DialoguePanel/Loader.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader.meta similarity index 77% rename from Assets/Scripts/Domain/DialoguePanel/Loader.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader.meta index b01ca0e6..91446264 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Loader.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fbfba9fa41a482749a828a0dd7f8dee0 +guid: 0329f79b337290544b14678405bb5894 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Domain/DialoguePanel/Loader/DialoguePanelsPrefabsLoader.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader/DialoguePanelsPrefabsLoader.cs similarity index 92% rename from Assets/Scripts/Domain/DialoguePanel/Loader/DialoguePanelsPrefabsLoader.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader/DialoguePanelsPrefabsLoader.cs index b48ff879..a6598a7c 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Loader/DialoguePanelsPrefabsLoader.cs +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader/DialoguePanelsPrefabsLoader.cs @@ -4,7 +4,7 @@ using UnityEngine; public static class DialoguePanelsPrefabsList { - private static string SourcePath = "Dialogue/"; + private static string SourcePath = "UiPanels/Dialogue/"; public static GameObject GetPanel() { return Resources.Load(SourcePath + "DialoguePanel"); diff --git a/Assets/Scripts/Domain/DialoguePanel/Loader/DialoguePanelsPrefabsLoader.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader/DialoguePanelsPrefabsLoader.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Loader/DialoguePanelsPrefabsLoader.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Loader/DialoguePanelsPrefabsLoader.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/Model.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model.meta similarity index 77% rename from Assets/Scripts/Domain/DialoguePanel/Model.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model.meta index 7f96d00e..c6673d97 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Model.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4e51f6b74b445b749b8c3fd09e73e243 +guid: 0dcf380149f6f2345872b529e1d7c5e3 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Domain/DialoguePanel/Model/ButtonPanelModel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/ButtonPanelModel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Model/ButtonPanelModel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/ButtonPanelModel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Model/ButtonPanelModel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/ButtonPanelModel.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Model/ButtonPanelModel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/ButtonPanelModel.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/Model/PanelButtonStepModel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/PanelButtonStepModel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Model/PanelButtonStepModel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/PanelButtonStepModel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Model/PanelButtonStepModel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/PanelButtonStepModel.cs.meta similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Model/PanelButtonStepModel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Model/PanelButtonStepModel.cs.meta diff --git a/Assets/Scripts/Domain/DialoguePanel/Panel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Panel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/Panel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Panel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/Panel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Panel.cs.meta similarity index 83% rename from Assets/Scripts/Domain/DialoguePanel/Panel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Panel.cs.meta index 21e226be..b70e9410 100644 --- a/Assets/Scripts/Domain/DialoguePanel/Panel.cs.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/Panel.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c8ee24f14ee70a947a098b04569c5ecc +guid: 29ac04dbf1f8dfe49a0e1cc77cf3403a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/Domain/DialoguePanel/QuestionPanel.cs b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/QuestionPanel.cs similarity index 100% rename from Assets/Scripts/Domain/DialoguePanel/QuestionPanel.cs rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/QuestionPanel.cs diff --git a/Assets/Scripts/Domain/DialoguePanel/QuestionPanel.cs.meta b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/QuestionPanel.cs.meta similarity index 83% rename from Assets/Scripts/Domain/DialoguePanel/QuestionPanel.cs.meta rename to Assets/Scripts/REFACTORING/Application/Dialogue/Panel/QuestionPanel.cs.meta index 2cbbb23f..04c48cb6 100644 --- a/Assets/Scripts/Domain/DialoguePanel/QuestionPanel.cs.meta +++ b/Assets/Scripts/REFACTORING/Application/Dialogue/Panel/QuestionPanel.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6c2b7cdb65cfa2a4795b404433a2b1d8 +guid: e9ca731c930aca040930cc708f416db0 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/REFACTORING/Application/Mission.meta b/Assets/Scripts/REFACTORING/Application/Mission.meta new file mode 100644 index 00000000..350d8130 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea5a5d0b0eb26a444bf56ff4a28c2c29 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs b/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs new file mode 100644 index 00000000..1accdb41 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + + +[Serializable] +[CreateAssetMenu(fileName = "New Mission", menuName = "Mission/New Mission")] + +public class Mission : ScriptableObject +{ + [SerializeField] + public MissionStatusEnum Status = MissionStatusEnum.None; + + [SerializeField] + int CurrentStep = 0; + + [SerializeField] + public List MissionStepsList; + + public void CheckIfComplete() + { + Debug.Log("Checkl if complete"); + } + + public void Accept() + { + Status = MissionStatusEnum.Accepted; + } + + public void Reject() + { + Status = MissionStatusEnum.Rejected; + } +} diff --git a/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs.meta b/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs.meta new file mode 100644 index 00000000..f01f2cfb --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/Mission.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a3bcdd1e2dba0c4791bcb151c0df6c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs b/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs new file mode 100644 index 00000000..322a7fd0 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs @@ -0,0 +1,40 @@ +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[System.Serializable] +public class MissionReward +{ + [SerializeField] + public List Items = new List(); + + [SerializeField] + public int Cash = 0; + + public MissionReward() { } + + public MissionReward(List _items, int _cash) + { + Items = _items; + Cash = _cash; + } + + public void SetCash(int newValue) + { + Cash = newValue; + } + + public void IncreaseCash(int amountToAdd) + { + Cash += amountToAdd; + } + + public void AddItemToRewards(Item _item) + { + Items.Add((EquippableItem)_item); + } + public void AddItemToRewards(EquippableItem _item) + { + Items.Add(_item); + } +} \ No newline at end of file diff --git a/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs.meta b/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs.meta new file mode 100644 index 00000000..a1b82b3c --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/MissionReward.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e35a0f698c14dea40966c6593bcd9837 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Mission/Model.meta b/Assets/Scripts/REFACTORING/Application/Mission/Model.meta new file mode 100644 index 00000000..44af3215 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/Model.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e699112181b4f8458f6a6bcbce888f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs b/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs new file mode 100644 index 00000000..032a7f6f --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs @@ -0,0 +1,46 @@ +using UnityEditor; +using System.Collections; +using UnityEngine; +using System.Collections.Generic; +using System; + +[Serializable] +public class MissionStepModel +{ + [SerializeField] // this flag tell whatewer dialoge ware already display to user + public MissionStepStatusEnum Status = MissionStepStatusEnum.None; + + [SerializeField] + public DialogueStepModel DialogueStep; + + [SerializeField] + public MissionReward Reward; + + + public MissionStepModel() { } + + + // Copied from DialogueStepModel + public virtual void Build() + { + DialogueStep.EndOfDialogueStepAction.AddListener(GiveReward); + + DialogueStep.Build(); + } + + // Assign geting reward as Model End Action + public void GiveReward() + { + var Player = GameObject.FindGameObjectWithTag("Player"); + + if (!Player) + Debug.LogError("MissionStepModel::GetReward - There is no player on scene!!!"); + + Player.GetComponent().GetReward(Reward); + } +} + +// TODO +// zapobieganie zniuknieciu itemow po otrzymaniu nagrody z poanelu gracza - WYKONANIE SAVE PO ZAKOŃCZENIU STEPU: +// -- zapisanie postępu misji w pliku z misjami +// -- zapisanie statusu panelu gracza (lista misji / content ekwipunku / magazynu) \ No newline at end of file diff --git a/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs.meta b/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs.meta new file mode 100644 index 00000000..654b11cd --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/Model/MissionStepModel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 30a5cd2238c18504bb14e855774f87a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs b/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs new file mode 100644 index 00000000..0ea1133a --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +//[Serializable] +//[CreateAssetMenu(fileName = "New Mission", menuName = "Mission/New Mission")] +public class NpcMissionManager : ScriptableObject +{ + public Mission mission = null; + + private void BuildMission() + { + //mission.Status = MissionStatusEnum.Available; + foreach(var missionStep in mission.MissionStepsList) + { + missionStep.Build(); + } + } + + public void ShowStep() + { + foreach (var MissionStep in mission.MissionStepsList) + { + if (MissionStep.Status != MissionStepStatusEnum.Finished && MissionStep.DialogueStep.ListOfSentences.Count != 0) + { + MissionStep.DialogueStep.DialogueController.Show(MissionStep.DialogueStep.DialogueController.listOfDialogue.Dequeue()); // create panel + + break; + } + } + } +} diff --git a/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs.meta b/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs.meta new file mode 100644 index 00000000..bed5fc68 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Mission/NpcMissionManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 39fff781183ce9c4c8b22d77e405596f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/NPC.meta b/Assets/Scripts/REFACTORING/Application/NPC.meta new file mode 100644 index 00000000..3106c454 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/NPC.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 831de04b47054494c8d0af0f6427c146 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/NPC/NpcDialogueManager.cs b/Assets/Scripts/REFACTORING/Application/NPC/NpcDialogueManager.cs new file mode 100644 index 00000000..607548e0 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/NPC/NpcDialogueManager.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.Events; + +[Serializable] +public class NpcDialogueManager : MonoBehaviour +{ + [SerializeField] + public Dialogue DialogueTemplate; + + /* We user object CLONED TO PREVENT overwritting changes in main object inassets */ + [SerializeField] + public Dialogue Dialogue; + + // List, Value : UnityEvent> + public List, UnityEvent>> EndactionEventList; + + public void Start() + { + Dialogue = Instantiate(DialogueTemplate); + } + + public void Update() { } + + /// + /// Function to invoke actions declared in manager on object from scene not onto asset + /// + /// Used in Dialogue ScriptableObject Template + /// + /// + public void DialogueEndAction(int dialogueIndex) + { + GameObject.FindObjectsOfType().Where(obj => obj.name == gameObject.name).First().GetComponent().InvokeDialogueEndAction(dialogueIndex); + } + + /// + /// Function to invoke actions declared in manager (on current object) + /// + /// Use this to invoke actions which we want to occured after specific Dialogue + /// + /// + protected void InvokeDialogueEndAction(int dialogueIndex) + { + EndactionEventList.Where(el => el.Key.Key == dialogueIndex).ToList().ForEach(el => el.Value.Invoke()); + } + + /// + /// Function to invoke actions declared in manager on object from scene not onto asset + /// + /// Used in Dialogue ScriptableObject Template + /// + public void StepEndAction() + { + GameObject.FindObjectsOfType().Where(obj => obj.name == gameObject.name).First().GetComponent().InvokeStepEndAction(); + } + + /// + /// Function to invoke actions declared in manager (on current object) + /// + /// Use this to invoke actions which we want to occured after specific Dialogue Step + /// + protected void InvokeStepEndAction() + { + var dialogueProgress = Dialogue.DialogueStepStatus(); + + EndactionEventList.Where(el => el.Key.Key == dialogueProgress.Item1 & el.Key.Value == dialogueProgress.Item2).ToList().ForEach(el => el.Value.Invoke()); + } +} \ No newline at end of file diff --git a/Assets/Scripts/REFACTORING/Application/Player.meta b/Assets/Scripts/REFACTORING/Application/Player.meta new file mode 100644 index 00000000..98e72af5 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f1cb992f960963c43b7a857b977c281a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs b/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs new file mode 100644 index 00000000..9323a140 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs @@ -0,0 +1,34 @@ +using System.Collections; +using UnityEngine; + + +public class PlayerActions : MonoBehaviour +{ + + // Use this for initialization + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + public void GetReward(MissionReward reward) + { + // 1. Add items to equipment + foreach(var item in reward.Items) + { + InventoryUIManager.Instance.Add(item); + } + GameObject.FindObjectOfType().SavePlayerEquipmentItems(); + GameObject.FindObjectOfType().SavePlayerInventory(); + + // 2. Add cach + //cash += reward.Cash; + //GameObject.FindObjectOfType().SavePlayerBankAccount(); + } +} diff --git a/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs.meta b/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs.meta new file mode 100644 index 00000000..f236bbc2 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Player/PlayerActions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b706d33712b371949b5623cdf98fc4a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Application/Quest.meta b/Assets/Scripts/REFACTORING/Application/Quest.meta new file mode 100644 index 00000000..424fcf75 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Application/Quest.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: acc5048ecadde0b429d7a951a88be15b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs new file mode 100644 index 00000000..36a8c0bd --- /dev/null +++ b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs @@ -0,0 +1,39 @@ +using UnityEditor; +using UnityEngine; + +[System.Serializable] +public enum MissionStatusEnum +{ + None, + Available, + Rejected, + Accepted, + InProggress, + Finished +} + +/* + * None - raw status + * mostly as deffault value for models saved in assets or in files + * also for code class constructors (deffault value is required to pass new instanes and save object in binnary files - not sure last one heh) + * + * + * Available - mission is avaiable for player + * system is waiting on player decision, he must reject or accept tast offered by NPC + * + * + * Rejected - mission has been rejected by Player + * Player dont want to participate in this adventure :( + * + * + * Accepted - player want to do the job + * change status to 'InProggress' + * + * + * InProggress - player is carrying out the task + * this status will be persist to complete all quest (mission) + * + * + * Finished - mission has been compleeted by player + * most importantly finish action were invoked!! + */ \ No newline at end of file diff --git a/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs.meta b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs.meta new file mode 100644 index 00000000..8489c9e2 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStatusEnum.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d1920d282403b24487be27311492292 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs new file mode 100644 index 00000000..e56fb129 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs @@ -0,0 +1,30 @@ +[System.Serializable] +public enum MissionStepStatusEnum +{ + None, + Pending, + Active, + Finished +} + +/* + * None - raw status + * mostly as deffault value for models saved in assets or in files + * also for code class constructors (deffault value is required to pass new instanes and save object in binnary files - not sure last one heh) + * + * + * Pending - mission is loaded + * step has not been started + * just loaded, step is still waiting in queue on its turn + * + * change status from None -> Pending during building step!!! + * + * + * Active - step is currently in proggress + * when status is pending we are interesten in dikalogue step model list and status each of step inside + * + * + * Finished - step was finished + * (most important finish action were invoked) + * we can freely iterate through (skip) step and go forward to next one + */ \ No newline at end of file diff --git a/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs.meta b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs.meta new file mode 100644 index 00000000..7e643ec8 --- /dev/null +++ b/Assets/Scripts/REFACTORING/Domain/Enum/MissionStepStatusEnum.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61ca24d1b5f7786479bf70a674872f4e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/REFACTORING/Models/Chest/Chest.cs b/Assets/Scripts/REFACTORING/Models/Chest/Chest.cs index e0118af1..ccfa0ba8 100644 --- a/Assets/Scripts/REFACTORING/Models/Chest/Chest.cs +++ b/Assets/Scripts/REFACTORING/Models/Chest/Chest.cs @@ -16,6 +16,11 @@ public struct IndexValuePair } } +/// +/// Alias for ValueTouple class, pure touple (V, T) and also KeyValuePair +/// +/// +/// [System.Serializable] public struct IndexValuePair { diff --git a/Assets/Scripts/SaveController.cs b/Assets/Scripts/SaveController.cs index a375abbe..0bbc4ce0 100644 --- a/Assets/Scripts/SaveController.cs +++ b/Assets/Scripts/SaveController.cs @@ -25,19 +25,19 @@ public class SaveController : MonoBehaviour player.GetComponent().SaveCheckpoint(); } - public void SaveItems() // toDO change name to save Equipment - save items will save items on map eg after drops + public void SavePlayerEquipmentItems() // toDO change name to save Equipment - save items will save items on map eg after drops { EquipmentDataManager.Instance.SaveDynamicData(); } - public void SaveQuests() + public void SavePlayerQuests() { SceneTaskDataManager.Instance.SaveDynamicData(); // right now, we dont need to save dynamic list :D } - public void SaveInventory() + public void SavePlayerInventory() { SceneInventoryDataManager.Instance.SaveDynamicData(); }