From a584c13cc672c203c383bff3345e1762c39a097a Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Tue, 18 Nov 2025 23:39:07 -0300 Subject: [PATCH 01/10] Change QuestLine reference to ProfileCalculator --- .../NarrativeGenerator/Quests/QuestLine.cs | 2 +- .../TopdownQuestGeneratorManager.cs | 32 ++++------- .../QuestGeneratorManager.cs | 53 +++++++++++++++++-- Assets/Scripts/Overlord/Overlord.asmdef | 3 +- .../ProfileAnalyst/PlayerProfileManager.cs | 3 +- 5 files changed, 65 insertions(+), 28 deletions(-) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs index d0bfb6bc..3e593fe2 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs @@ -195,7 +195,7 @@ public void PopulateQuestLine(in GeneratorSettings generatorSettings, NpcSo npcI while (questChain.GetLastSymbol().CanDrawNext) { var lastSelectedQuest = questChain.GetLastSymbol(); - lastSelectedQuest.NextSymbolChances = TopdownYeeProfileCalculator.StartSymbolWeights; + lastSelectedQuest.NextSymbolChances = YeeProfileCalculator.StartSymbolWeights; lastSelectedQuest.SetNextSymbol(questChain); var nonTerminalSymbol = questChain.GetLastSymbol(); diff --git a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs index 7d895725..101f1b0d 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs @@ -25,34 +25,30 @@ namespace Topdown.Overlord.NarrativeGenerator { [RequireComponent(typeof(TopdownPlayerProfileManager), typeof(TopdownEnemyGeneratorManager), typeof(LevelGeneratorManager))] - public class TopdownQuestGeneratorManager : MonoBehaviour + public class TopdownQuestGeneratorManager : QuestGeneratorManager { - [field:SerializeField] public bool MustCreateNarrative { get; set; } - [field: SerializeField, MustBeAssigned] public SelectedLevels SelectedLevels { get; set; } [field: SerializeField, MustBeAssigned] public GeneratorSettings CurrentGeneratorSettings { get; set; } + [field: SerializeField, MustBeAssigned] public SelectedLevels SelectedLevels { get; set; } - public static event ProfileSelectedEvent ProfileSelectedEventHandler; - public static event QuestLineCreatedEvent QuestLineCreatedEventHandler; - public static event ProfileSelectedEvent FixedLevelProfileEventHandler; + public static event ProfileSelectedEvent ProfileSelectedEventHandler; // Topdown event + public static event QuestLineCreatedEvent QuestLineCreatedEventHandler; // Topdown event + public static event ProfileSelectedEvent FixedLevelProfileEventHandler; // Topdown event [MustBeAssigned, SerializeReference, SerializeField] private PlayerProfileToQuestLinesDictionarySo _playerProfileToQuestLines; + [SerializeReference, SerializeField] private QuestLineList questLines; private TopdownEnemyGeneratorManager _enemyGeneratorManager; private LevelGeneratorManager _levelGeneratorManager; - public void OnEnable() - { - TopdownPlayerProfileManager.ProfileSelected += HandleProfileSelected; - } - - public void OnDisable() + private void Start() { - TopdownPlayerProfileManager.ProfileSelected -= HandleProfileSelected; + _enemyGeneratorManager = GetComponent(); + _levelGeneratorManager = GetComponent(); } - private async void HandleProfileSelected(IPlayerProfile profile) + protected override async void HandleProfileSelected(IPlayerProfile profile) { if (profile is YeePlayerProfile yeeProfile) { @@ -67,14 +63,8 @@ private async void HandleProfileSelected(IPlayerProfile profile) } } } - - private void Start() - { - _enemyGeneratorManager = GetComponent(); - _levelGeneratorManager = GetComponent(); - } - private async Task CreateNarrative(YeePlayerProfile playerProfile) + protected override async Task CreateNarrative(YeePlayerProfile playerProfile) { CreateGeneratorParametersForQuestLine(playerProfile); questLines.TargetProfile = playerProfile; diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs index 4d9efc94..2b7153cf 100644 --- a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs @@ -1,19 +1,64 @@ +using MyBox; +using Overlord.ProfileAnalyst; +using Overlord.RulesGenerator.EnemyGeneration; +using System.Threading.Tasks; using UnityEngine; +using Game.ExperimentControllers; namespace Overlord.NarrativeGenerator { + [RequireComponent(typeof(PlayerProfileManager), typeof(EnemyGeneratorManager)/*, typeof(LevelGeneratorManager)*/)] public class QuestGeneratorManager : MonoBehaviour { - // Start is called before the first frame update - void Start() + [field: SerializeField] public bool MustCreateNarrative { get; set; } + + public void OnEnable() { + PlayerProfileManager.ProfileSelected += HandleProfileSelected; + } + public void OnDisable() + { + PlayerProfileManager.ProfileSelected -= HandleProfileSelected; } - // Update is called once per frame - void Update() + // Event handler for when a player profile is selected + // Put here anything that should happen when a profile is selected + protected virtual async void HandleProfileSelected(IPlayerProfile profile) { + /* + if (profile is YeePlayerProfile yeeProfile) + { + if (yeeProfile.IsFixedFromExperiment || MustCreateNarrative) + { + questLines = Selector.CreateMissions(CurrentGeneratorSettings); + await CreateNarrative(yeeProfile); + } + else + { + ProfileSelectedEventHandler?.Invoke(this, new ProfileSelectedEventArgs(yeeProfile)); + } + } + */ + } + protected virtual async Task CreateNarrative(YeePlayerProfile playerProfile) + { + /* + CreateGeneratorParametersForQuestLine(playerProfile); + questLines.TargetProfile = playerProfile; + await CreateContentsForQuestLine(); +#if UNITY_EDITOR + if (!CurrentGeneratorSettings.GenerateInRealTime) + { + var narrativeExperimentRepository = new NarrativeExperimentRepository(playerProfile, _playerProfileToQuestLines, CurrentGeneratorSettings); + narrativeExperimentRepository.Save(questLines, playerProfile.PlayerProfileEnum.ToString()); + } +#endif + SelectedLevels.Init(questLines); + FixedLevelProfileEventHandler?.Invoke(this, new ProfileSelectedEventArgs(playerProfile)); + QuestLineCreatedEventHandler?.Invoke(this, new QuestLineCreatedEventArgs(questLines)); + */ } } } diff --git a/Assets/Scripts/Overlord/Overlord.asmdef b/Assets/Scripts/Overlord/Overlord.asmdef index 22e43e47..b43e9606 100644 --- a/Assets/Scripts/Overlord/Overlord.asmdef +++ b/Assets/Scripts/Overlord/Overlord.asmdef @@ -4,7 +4,8 @@ "references": [ "GUID:2715b4b7e32907244ae6b3c27a78ae85", "GUID:a37419e4b8e996d4da23a301a44013e3", - "GUID:48c9f6afdac61634db0e0f241c7d4d51" + "GUID:48c9f6afdac61634db0e0f241c7d4d51", + "GUID:e889290e6f4967a4ba72b88171c97a6d" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Scripts/Overlord/ProfileAnalyst/PlayerProfileManager.cs b/Assets/Scripts/Overlord/ProfileAnalyst/PlayerProfileManager.cs index 20a15965..39e668a6 100644 --- a/Assets/Scripts/Overlord/ProfileAnalyst/PlayerProfileManager.cs +++ b/Assets/Scripts/Overlord/ProfileAnalyst/PlayerProfileManager.cs @@ -23,7 +23,8 @@ protected void SetPlayerProfileFromManualPlayerProfileSO() protected void SetRandomPlayerProfile() { - + var playerProfile = _profileCalculator.GetRandomPlayerProfile(); + InvokeEventOnSelectedProfile(playerProfile); } protected virtual void InvokeEventOnSelectedProfile(IPlayerProfile profile) From 68d7d830ac8e1f659e150d2a5786f77989891568 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Wed, 19 Nov 2025 15:44:03 -0300 Subject: [PATCH 02/10] Remove unused script QuestUI.cs --- .../Game/NarrativeGenerator/QuestUI.cs | 37 ------------------- .../Game/NarrativeGenerator/QuestUI.cs.meta | 11 ------ 2 files changed, 48 deletions(-) delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs b/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs deleted file mode 100644 index d1b7882f..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs +++ /dev/null @@ -1,37 +0,0 @@ -using UnityEngine; -using Game.NarrativeGenerator.Quests; -using UnityEngine.UI; -using TMPro; -using System.Collections.Generic; -using System.Collections; -using Util; - -namespace Game.NarrativeGenerator -{ - public class QuestUI : MonoBehaviour - { - [SerializeField] private TextMeshProUGUI questList; - public void CreateQuestList ( QuestLineList narratives ) - { - // TODO: Rever este código - // string questDescription = ""; - // foreach ( QuestLine narrative in narratives.QuestLines ) - // { - // string nextQuest = narrative.graph[0].symbolType.ToString(); - // if ( narrative.graph[0].symbolType != Constants.EMPTY_QUEST ) - // questDescription += $" - {nextQuest}\n"; - // } - // questList.text = questDescription; - } - - public void CreateOpenQuestList ( QuestLine quests ) - { - // calls create quest list - } - - public void CreateClosedQuestList ( QuestLine quests ) - { - // calls create quest list - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs.meta deleted file mode 100644 index ed672aa6..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/QuestUI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d8048242634d20b4ab556628d28d80cf -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: From 822e8032c7b632fbb46b431938312483895fb221 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Wed, 19 Nov 2025 16:47:42 -0300 Subject: [PATCH 03/10] Remove unused script LoadText.cs --- .../Game/NarrativeGenerator/LoadText.cs | 50 ------------------- .../Game/NarrativeGenerator/LoadText.cs.meta | 11 ---- 2 files changed, 61 deletions(-) delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/LoadText.cs delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/LoadText.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs b/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs deleted file mode 100644 index 5517c9d8..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs +++ /dev/null @@ -1,50 +0,0 @@ -using UnityEngine; -using TMPro; - -namespace Game.NarrativeGenerator -{ - public class LoadText : MonoBehaviour - { - public TextAsset jsonFile; - public TextMeshProUGUI missionSum; - public QuestManager manager; - - // Start is called before the first frame update - //TODO fix this, if it may be used in the future - /*void Start() - { - Quests questAux = JsonConvert.DeserializeObject(jsonFile.text); - missionSum.text = "Mission Sum:
"; - - // foreach (QuestSO q in questAux.graph) - // { - // switch (q.Tipo) - // { - // case 0: missionSum.text += "Find a treasure of type " + q.N1 + ".
"; manager.treasure = true; break; - // case 1: missionSum.text += "Find the dungeon's secret room.
"; manager.secretRoom = true; break; - // case 2: missionSum.text += "Kill " + q.N1 + " enemies of type 1,
" + q.N2 + " enemies of type 2 and
" + q.N3 + " of type 3.\n"; manager.totalEnemies += q.N1 + q.N2 + q.N3; break; - // case 3: missionSum.text += "Get " + q.N1 + " itens.
"; manager.totalItens += q.N1; break; - // case 4: missionSum.text += "Explore the dungeon's rooms.
"; break; - // case 5: missionSum.text += "Kill " + q.N1 + " enemies to get the same amount of itens dropped by them.
"; manager.totalEnemies += q.N1; break; - // case 6: missionSum.text += "Talk to the NPC " + q.N1 + ".
"; manager.totalNpcs += q.N1; break; - // } - // } - - Debug.Log(missionSum.text); - }*/ - - private void clearManager() - { - manager.totalEnemies = 0; - manager.totalItens = 0; - manager.totalNpcs = 0; - manager.secretRoom = false; - manager.treasure = false; - } - - public void CloseDialogue() - { - gameObject.SetActive(false); - } - } -} diff --git a/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs.meta deleted file mode 100644 index 526b7511..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/LoadText.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: afaa5f586e0dad24aa1d2d178c57b3bb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: From 37273fc14a424a796efbb6fb63459a34c6ee7be8 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Wed, 19 Nov 2025 16:50:39 -0300 Subject: [PATCH 04/10] Remove unused script QuestManager.cs --- .../Scripts/Game/NarrativeGenerator/QuestManager.cs | 11 ----------- .../Game/NarrativeGenerator/QuestManager.cs.meta | 11 ----------- 2 files changed, 22 deletions(-) delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs b/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs deleted file mode 100644 index bb58d1dd..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs +++ /dev/null @@ -1,11 +0,0 @@ -using UnityEngine; - -namespace Game.NarrativeGenerator -{ - [CreateAssetMenu(fileName = "QuestManager", menuName = "ScriptableObjects/QuestManager")] - public class QuestManager : ScriptableObject - { - public int totalEnemies = 0, totalItens = 0, totalNpcs = 0; - public bool secretRoom = false, treasure = false; - } -} \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs.meta deleted file mode 100644 index cbe4b375..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/QuestManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bea26ab2ba36b744091a456033a6278a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: From ceacf2fd53f28dfd84ab13dc3f9fda7e59c5122c Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Wed, 19 Nov 2025 16:53:19 -0300 Subject: [PATCH 05/10] Remove unused script DropItemData.cs --- .../Scripts/Game/NarrativeGenerator/DropItemData.cs | 13 ------------- .../Game/NarrativeGenerator/DropItemData.cs.meta | 3 --- 2 files changed, 16 deletions(-) delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs delete mode 100644 Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs b/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs deleted file mode 100644 index 4088a0f2..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ScriptableObjects; - -namespace Game.NarrativeGenerator -{ - public class DropItemData - { - public WeaponTypeSo Enemy { get; set; } - private ItemSo DropItem { get; set; } - private float DropChance { get; set; } - private int TotalItem { get; set; } - private bool IsActive { get; set; } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs.meta deleted file mode 100644 index 51d7dbd4..00000000 --- a/Assets/Scripts/Game/NarrativeGenerator/DropItemData.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: a0ec0af38ea44ddba21dee522a9a2eef -timeCreated: 1633128739 \ No newline at end of file From f9bd4ca7aaa2d6ab7649fa37822ecf9cbc5cd0dc Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Fri, 21 Nov 2025 22:52:39 -0300 Subject: [PATCH 06/10] Rename Overlord NarrativeGenerator scripts' namespaces --- .../Scripts/Game/DataCollection/PlayerDataController.cs | 2 +- .../Game/Dialogues/Quest/QuestDialogueInteraction.cs | 1 + .../NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs | 4 +--- .../Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs | 3 +-- .../Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs | 4 +--- .../Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs | 2 +- .../Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs | 5 +---- Assets/Scripts/Game/NPCs/NpcController.cs | 1 + .../DungeonRelatedNarrative/QuestDungeonsParameters.cs | 1 + .../EnemyRelatedNarrative/QuestEnemiesParameters.cs | 1 + .../ItemRelatedNarrative/QuestItemsParameters.cs | 1 + .../NpcRelatedNarrative/QuestNpcsParameters.cs | 1 + Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs | 2 +- .../NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs | 6 +++--- .../NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs | 2 +- .../ProfileQuests/Achievement/AchievementQuestSo.cs | 1 + .../Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs | 2 +- .../Quests/ProfileQuests/Achievement/GatherQuestSo.cs | 1 + .../Quests/ProfileQuests/Creativity/CreativityQuestSo.cs | 1 + .../Quests/ProfileQuests/Creativity/ExploreQuestSo.cs | 1 + .../Quests/ProfileQuests/Creativity/GotoQuestSo.cs | 1 + .../Quests/ProfileQuests/Immersion/GiveQuestSo.cs | 1 + .../Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs | 1 + .../Quests/ProfileQuests/Immersion/ListenQuestSo.cs | 1 + .../Quests/ProfileQuests/Immersion/ReadQuestSo.cs | 1 + .../Quests/ProfileQuests/Immersion/ReportQuestSo.cs | 1 + .../Quests/ProfileQuests/Mastery/DamageQuestSo.cs | 1 + .../Quests/ProfileQuests/Mastery/KillQuestSo.cs | 1 + .../Quests/ProfileQuests/Mastery/MasteryQuestSo.cs | 1 + .../Quests/QuestGrammarTerminals/EmptyQuestSo.cs | 8 ++------ .../Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs | 2 +- Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs | 3 +-- Assets/Scripts/Game/Quests/EventArgs/NewQuestEventArgs.cs | 4 ++-- .../Game/Quests/EventArgs/QuestCheckpointEventArgs.cs | 2 +- .../NarrativeGenerator/QuestGenerationAlgorithm.meta | 8 ++++++++ 35 files changed, 46 insertions(+), 32 deletions(-) create mode 100644 Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm.meta diff --git a/Assets/Scripts/Game/DataCollection/PlayerDataController.cs b/Assets/Scripts/Game/DataCollection/PlayerDataController.cs index d0e013c2..1e8a3293 100644 --- a/Assets/Scripts/Game/DataCollection/PlayerDataController.cs +++ b/Assets/Scripts/Game/DataCollection/PlayerDataController.cs @@ -1,4 +1,4 @@ -using Game.Dialogues; +using Overlord.NarrativeGenerator.Quests; using Game.Events; using Game.GameManager; using Game.GameManager.Player; diff --git a/Assets/Scripts/Game/Dialogues/Quest/QuestDialogueInteraction.cs b/Assets/Scripts/Game/Dialogues/Quest/QuestDialogueInteraction.cs index 5b5bd30a..97545323 100644 --- a/Assets/Scripts/Game/Dialogues/Quest/QuestDialogueInteraction.cs +++ b/Assets/Scripts/Game/Dialogues/Quest/QuestDialogueInteraction.cs @@ -8,6 +8,7 @@ using Game.Quests; using UnityEngine; using ScriptableObjects; +using Overlord.NarrativeGenerator.Quests; #if UNITY_EDITOR using MyBox; diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs index 88f06857..af79cba4 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs @@ -1,7 +1,5 @@ -using System.Text; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; -using MyBox; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs index 538832cc..6093e10d 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs @@ -1,7 +1,6 @@ using System.Text; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; -using MyBox; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs index 6a7ebd6f..4a9b2f64 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs @@ -1,7 +1,5 @@ -using System.Text; -using Game.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; -using MyBox; +using Overlord.NarrativeGenerator.Quests; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs index 0575e553..b9a985cb 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs @@ -2,7 +2,7 @@ using Game.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using MyBox; -using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NPCs { diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs index e89c2ac8..e9efadf7 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs @@ -1,8 +1,5 @@ -using System.Linq; using System.Text; -using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; -using MyBox; +using Overlord.NarrativeGenerator.Quests; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/NpcController.cs b/Assets/Scripts/Game/NPCs/NpcController.cs index f4ce5456..35f12415 100644 --- a/Assets/Scripts/Game/NPCs/NpcController.cs +++ b/Assets/Scripts/Game/NPCs/NpcController.cs @@ -10,6 +10,7 @@ using UnityEngine; using Game.NPCs.PTBR; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; #if UNITY_EDITOR using MyBox; diff --git a/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs index cc1997ca..520316a1 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs @@ -5,6 +5,7 @@ using System.Linq; using UnityEngine; using static Util.Enums; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator { diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs index 24bc322f..ae931d19 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs @@ -6,6 +6,7 @@ using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using Overlord.RulesGenerator.EnemyGeneration; using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.EnemyRelatedNarrative { diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs index 7fab643a..6f2a560d 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs @@ -4,6 +4,7 @@ using Game.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.ItemRelatedNarrative { diff --git a/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs index a1232e88..9b333ecc 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs @@ -6,6 +6,7 @@ using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.NpcRelatedNarrative { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs index 41099990..3db22208 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs @@ -3,7 +3,7 @@ using Game.ExperimentControllers; using Game.NPCs; -namespace Game.NarrativeGenerator.Quests +namespace Overlord.NarrativeGenerator.Quests { public interface ISymbol { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs index 2e2c75f6..129c6ad9 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs @@ -1,11 +1,11 @@ using UnityEngine; using System.Collections.Generic; -using Game.NarrativeGenerator; +using Overlord.NarrativeGenerator; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; -using Game.NarrativeGenerator.Quests.QuestGrammarNonTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarNonTerminals; using Util; -namespace Game.NarrativeGenerator.Quests +namespace Overlord.NarrativeGenerator.Quests { public class MarkovChain { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs index 2cd634d6..c2c3dba8 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs @@ -3,7 +3,7 @@ using ScriptableObjects; using UnityEngine; -namespace Game.NarrativeGenerator.Quests.QuestGrammarNonTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarNonTerminals { public class StartSymbol : QuestSo { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs index 29a4d9f7..d8ed8f14 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs @@ -10,6 +10,7 @@ using MyBox; using Game.NarrativeGenerator.ItemRelatedNarrative; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs index d5b0bfaa..afcea1a4 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs @@ -8,7 +8,7 @@ using Game.NPCs; using Game.GameManager; using System.Linq; - +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs index 45b8675c..fece65ef 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs @@ -6,6 +6,7 @@ using Game.NarrativeGenerator.ItemRelatedNarrative; using UnityEngine; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs index fe3c66bf..fd148fbe 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs @@ -7,6 +7,7 @@ using UnityEngine; using Game.NPCs; using MyBox; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs index 9f956739..7887403a 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs @@ -1,6 +1,7 @@ using Util; using System; using System.Collections.Generic; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs index dca21b8f..4a378c10 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs @@ -6,6 +6,7 @@ using Game.LevelManager.DungeonLoader; using MyBox; using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs index 3ef1ca21..08aef8a6 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System; using Game.NPCs; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs index d61ced95..bc82258d 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs @@ -6,6 +6,7 @@ using Game.ExperimentControllers; using UnityEngine; using Game.NPCs; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs index cd795d3c..7e4c5acf 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Text; using Util; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs index 7551ed94..a338e06c 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs @@ -3,6 +3,7 @@ using Util; using System; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs index d59a4dee..3d3f9b0c 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using Game.NPCs; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs index 5cb664aa..e9fba819 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs @@ -4,6 +4,7 @@ using Util; using UnityEngine; using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs index ec56a4a1..0b22b821 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs @@ -6,6 +6,7 @@ using System.Text; using Util; using UnityEngine; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs index 10b10917..d2e98c87 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs @@ -9,6 +9,7 @@ using System.Text; using Game.ExperimentControllers; using Game.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.Quests; using MyBox; namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs index 16a313d3..36b7955e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs @@ -1,12 +1,8 @@ -using UnityEngine; using System; -using System.Collections.Generic; -using Game.NarrativeGenerator; -using Game.NPCs; using Util; -using ScriptableObjects; +using Overlord.NarrativeGenerator.Quests; -namespace Game.NarrativeGenerator.Quests +namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals { // [CreateAssetMenu(fileName = "Quest", menuName = "ScriptableObjects/GetQuest"), Serializable] public class EmptyQuestSo : QuestSo, ISymbol diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs index 3e593fe2..17ec2e33 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Game.Overlord.ProfileAnalyst; using Game.ExperimentControllers; using Game.LevelGenerator.LevelSOs; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; @@ -12,6 +11,7 @@ #endif using UnityEngine; using Util; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs index 66a58669..161a04b1 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs @@ -5,12 +5,11 @@ using Util; using Game.NPCs; - #if UNITY_EDITOR using UnityEditor; #endif -namespace Game.NarrativeGenerator.Quests +namespace Overlord.NarrativeGenerator.Quests { [CreateAssetMenu(fileName = "QuestSo", menuName = "Overlord-Project/QuestSo", order = 0)] diff --git a/Assets/Scripts/Game/Quests/EventArgs/NewQuestEventArgs.cs b/Assets/Scripts/Game/Quests/EventArgs/NewQuestEventArgs.cs index e45515c9..d6c0d5b0 100644 --- a/Assets/Scripts/Game/Quests/EventArgs/NewQuestEventArgs.cs +++ b/Assets/Scripts/Game/Quests/EventArgs/NewQuestEventArgs.cs @@ -1,5 +1,5 @@ -using Game.NarrativeGenerator.Quests; -using Game.NPCs; +using Game.NPCs; +using Overlord.NarrativeGenerator.Quests; namespace Game.Quests { diff --git a/Assets/Scripts/Game/Quests/EventArgs/QuestCheckpointEventArgs.cs b/Assets/Scripts/Game/Quests/EventArgs/QuestCheckpointEventArgs.cs index d94ce6ab..90439ee6 100644 --- a/Assets/Scripts/Game/Quests/EventArgs/QuestCheckpointEventArgs.cs +++ b/Assets/Scripts/Game/Quests/EventArgs/QuestCheckpointEventArgs.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; namespace Game.Quests { diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm.meta new file mode 100644 index 00000000..759d6556 --- /dev/null +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c70e1589961658499aa6e18abd1fbe6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From 85c183597e22f689de4b33d10dc69a1521246bc7 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Mon, 24 Nov 2025 17:30:38 -0300 Subject: [PATCH 07/10] Rename script Selector to TopdownQuestSelector --- .../Game/NarrativeGenerator/NarrativeExperimentRepository.cs | 2 +- .../NarrativeGenerator/Quests/{ => MarkovChains}/ISymbol.cs | 0 .../Quests/{ => MarkovChains}/ISymbol.cs.meta | 0 .../NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs | 5 ----- .../Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs | 2 +- .../{Selector.cs => TopdownQuestSelector.cs} | 2 +- .../{Selector.cs.meta => TopdownQuestSelector.cs.meta} | 2 +- 7 files changed, 4 insertions(+), 9 deletions(-) rename Assets/Scripts/Game/NarrativeGenerator/Quests/{ => MarkovChains}/ISymbol.cs (100%) rename Assets/Scripts/Game/NarrativeGenerator/Quests/{ => MarkovChains}/ISymbol.cs.meta (100%) rename Assets/Scripts/Game/NarrativeGenerator/{Selector.cs => TopdownQuestSelector.cs} (98%) rename Assets/Scripts/Game/NarrativeGenerator/{Selector.cs.meta => TopdownQuestSelector.cs.meta} (83%) diff --git a/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs b/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs index 90267d0a..866b8eac 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs @@ -41,7 +41,7 @@ public void Save(QuestLineList questLines, string profileName) private void SetQuestLineListForProfile(QuestLineList questLines) { - _questLinesForProfile = new List { Selector.CreateMissions(_generatorSettings) }; + _questLinesForProfile = new List { TopdownQuestSelector.CreateMissions(_generatorSettings) }; /* if (_playerProfile is YeePlayerProfile playerProfile) { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs rename to Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ISymbol.cs.meta rename to Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs index c2c3dba8..70cad966 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs @@ -1,8 +1,3 @@ -using System.Collections.Generic; -using MyBox; -using ScriptableObjects; -using UnityEngine; - namespace Overlord.NarrativeGenerator.Quests.QuestGrammarNonTerminals { public class StartSymbol : QuestSo diff --git a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs index 101f1b0d..9e2d0e3f 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs @@ -54,7 +54,7 @@ protected override async void HandleProfileSelected(IPlayerProfile profile) { if (yeeProfile.IsFixedFromExperiment || MustCreateNarrative) { - questLines = Selector.CreateMissions(CurrentGeneratorSettings); + questLines = TopdownQuestSelector.CreateMissions(CurrentGeneratorSettings); await CreateNarrative(yeeProfile); } else diff --git a/Assets/Scripts/Game/NarrativeGenerator/Selector.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Selector.cs rename to Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs index 95392fba..2863e2ad 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Selector.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs @@ -12,7 +12,7 @@ namespace Game.NarrativeGenerator { - public static class Selector + public static class TopdownQuestSelector { private static Dictionary _wasQuestAdded; private static GeneratorSettings _generatorSettings; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Selector.cs.meta b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs.meta similarity index 83% rename from Assets/Scripts/Game/NarrativeGenerator/Selector.cs.meta rename to Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs.meta index bc03bdca..a2c02dd7 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Selector.cs.meta +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9c41cca684449a74dbbef8beb501cb90 +guid: 663e05c8e6862b349bc498ec0e1e4f0d MonoImporter: externalObjects: {} serializedVersion: 2 From a8daa794fa16592e873f50e4152a818f621c4cb6 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Tue, 25 Nov 2025 03:52:39 -0300 Subject: [PATCH 08/10] Change quest/narrative references to language and namespaces --- .../DataCollection/DungeonDataController.cs | 1 + .../DataCollection/PlayerDataController.cs | 1 + .../Game/Items/ReadableItemController.cs | 17 ++++++-- .../IndividualJsonList.cs | 2 +- .../DialogueQuestCheckpoint.cs | 2 +- .../DialogueGenerator/DialogueQuestCloser.cs | 2 +- .../DialogueGenerator/DialogueQuestOpener.cs | 2 +- .../DialogueGenerator/NpcDialogueGenerator.cs | 1 + .../PTBR_NpcDialogueGenerator.cs | 2 +- .../ExchangeQuestCheckpoint.cs | 6 +-- .../QuestCheckpoints/ListenQuestCheckPoint.cs | 6 +-- .../QuestCheckpoints/ReportQuestCheckpoint.cs | 6 +-- .../QuestClosers/ExchangeQuestCloser.cs | 6 +-- .../QuestClosers/ExploreQuestCloser.cs | 6 +-- .../QuestClosers/GatherQuestCloser.cs | 6 +-- .../QuestClosers/GiveQuestCloser.cs | 6 +-- .../QuestClosers/GoToQuestCloser.cs | 6 +-- .../QuestClosers/KillQuestCloser.cs | 6 +-- .../QuestClosers/ListenQuestCloser.cs | 6 +-- .../QuestClosers/ReadQuestCloser.cs | 6 +-- .../QuestClosers/ReportQuestCloser.cs | 6 +-- .../NPCs/DialogueGenerator/QuestDialogue.cs | 25 ++++++++--- .../QuestOpeners/ExchangeQuestOpener.cs | 6 +-- .../QuestOpeners/ExploreQuestOpener.cs | 6 +-- .../QuestOpeners/GatherQuestOpener.cs | 6 +-- .../QuestOpeners/GiveQuestOpener.cs | 6 +-- .../QuestOpeners/GoToQuestOpener.cs | 6 +-- .../QuestOpeners/KillQuestOpener.cs | 6 +-- .../QuestOpeners/ListenQuestOpener.cs | 6 +-- .../QuestOpeners/ReadQuestOpener.cs | 6 +-- .../QuestOpeners/ReportQuestOpener.cs | 6 +-- Assets/Scripts/Game/NPCs/NpcController.cs | 28 ++++++++----- .../QuestDungeonsParameters.cs | 2 +- .../QuestEnemiesParameters.cs | 1 + .../QuestItemsParameters.cs | 1 + .../NarrativeExperimentRepository.cs | 8 +++- .../QuestNpcsParameters.cs | 2 +- .../Quests/MarkovChains/ISymbol.cs | 3 +- .../Quests/MarkovChains/MarkovChain.cs | 2 +- .../Quests/MarkovChains/StartSymbol.cs | 2 +- .../Achievement/AchievementQuestSo.cs | 30 ++++++------- .../Achievement/ExchangeQuestData.cs | 2 +- .../Achievement/ExchangeQuestSo.cs | 13 +++--- .../Achievement/GatherQuestSo.cs | 13 +++--- .../Creativity/CreativityQuestSo.cs | 26 ++++++------ .../Creativity/ExploreQuestSo.cs | 10 ++--- .../ProfileQuests/Creativity/GotoQuestSo.cs | 11 +++-- .../ProfileQuests/Immersion/GiveQuestData.cs | 2 +- .../ProfileQuests/Immersion/GiveQuestSo.cs | 9 ++-- .../Immersion/ImmersionQuestSo.cs | 42 +++++++++---------- .../ProfileQuests/Immersion/ListenQuestSo.cs | 8 ++-- .../ProfileQuests/Immersion/ReadQuestSo.cs | 9 ++-- .../ProfileQuests/Immersion/ReportQuestSo.cs | 8 ++-- .../ProfileQuests/Mastery/DamageQuestData.cs | 2 +- .../ProfileQuests/Mastery/DamageQuestSo.cs | 13 +++--- .../ProfileQuests/Mastery/KillQuestSo.cs | 26 +++++------- .../ProfileQuests/Mastery/MasteryQuestSo.cs | 28 ++++++------- .../QuestGrammarTerminals/EmptyQuestSo.cs | 5 +-- .../NarrativeGenerator/Quests/QuestLine.cs | 20 ++++++--- .../Game/NarrativeGenerator/Quests/QuestSo.cs | 12 +++--- .../TopdownQuestGeneratorManager.cs | 4 +- .../TopdownQuestSelector.cs | 7 +++- .../EventArgs/QuestExchangeEventArgs.cs | 2 +- .../Quests/EventArgs/QuestGiveEventArgs.cs | 2 +- Assets/Scripts/Game/Quests/QuestController.cs | 2 +- Assets/Scripts/Game/Quests/UI/QuestUI.cs | 8 +++- .../QuestsPerProfile.meta | 8 ++++ .../QuestGeneratorManager.cs | 6 ++- .../ScriptableObjects/ReadableItemSo.cs | 6 +++ .../Scripts/ScriptableObjects/WeaponTypeSo.cs | 28 ++++++++++++- Assets/Scripts/Util/Enums.cs | 6 +++ 71 files changed, 348 insertions(+), 250 deletions(-) create mode 100644 Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile.meta diff --git a/Assets/Scripts/Game/DataCollection/DungeonDataController.cs b/Assets/Scripts/Game/DataCollection/DungeonDataController.cs index 5c62488c..5a3d3ccb 100644 --- a/Assets/Scripts/Game/DataCollection/DungeonDataController.cs +++ b/Assets/Scripts/Game/DataCollection/DungeonDataController.cs @@ -11,6 +11,7 @@ using UnityEngine; using Overlord.ProfileAnalyst; using Topdown.Overlord.NarrativeGenerator; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.DataCollection { diff --git a/Assets/Scripts/Game/DataCollection/PlayerDataController.cs b/Assets/Scripts/Game/DataCollection/PlayerDataController.cs index 1e8a3293..771f4251 100644 --- a/Assets/Scripts/Game/DataCollection/PlayerDataController.cs +++ b/Assets/Scripts/Game/DataCollection/PlayerDataController.cs @@ -15,6 +15,7 @@ using System; using UnityEngine; using Topdown.Overlord.ProfileAnalyst; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.DataCollection { diff --git a/Assets/Scripts/Game/Items/ReadableItemController.cs b/Assets/Scripts/Game/Items/ReadableItemController.cs index 9898f822..1d93166d 100644 --- a/Assets/Scripts/Game/Items/ReadableItemController.cs +++ b/Assets/Scripts/Game/Items/ReadableItemController.cs @@ -1,8 +1,10 @@ +using Fog.Dialogue; +using Overlord.NarrativeGenerator; using ScriptableObjects; using System; -using Fog.Dialogue; -using Game.GameManager; +using Topdown.Overlord.NarrativeGenerator; using UnityEngine; +using static Util.Enums; namespace Game { @@ -13,6 +15,15 @@ public class ReadableItemController : MonoBehaviour [SerializeField] private QuestDialogueInteraction _questDialogue; private ReadableItemSo itemSo; + private Language _language; + + private void Awake() + { + var questGeneratorManager = FindObjectOfType(); + if (questGeneratorManager == null) + questGeneratorManager = FindObjectOfType(); + _language = questGeneratorManager.language; + } private void OnEnable() { @@ -27,7 +38,7 @@ private void OnDisable() public void SetItemInfo(ReadableItemSo item, int questId) { _questDialogue.DialogueObj = item; - _questDialogue.DialogueLine = item.SetRandomText(GameManagerSingleton.Instance.IsInPortuguese); + _questDialogue.DialogueLine = item.SetRandomText(_language); _questDialogue.QuestId = questId; itemSprite.sprite = item.sprite; diff --git a/Assets/Scripts/Game/LevelGenerator/EvolutionaryAlgorithm/IndividualJsonList.cs b/Assets/Scripts/Game/LevelGenerator/EvolutionaryAlgorithm/IndividualJsonList.cs index af9d9763..4d5f9dde 100644 --- a/Assets/Scripts/Game/LevelGenerator/EvolutionaryAlgorithm/IndividualJsonList.cs +++ b/Assets/Scripts/Game/LevelGenerator/EvolutionaryAlgorithm/IndividualJsonList.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using UnityEngine; namespace Game.LevelGenerator.EvolutionaryAlgorithm diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs index af79cba4..0ffdd5b8 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCheckpoint.cs @@ -1,5 +1,5 @@ using Overlord.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs index 6093e10d..bbc8b5ed 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestCloser.cs @@ -1,6 +1,6 @@ using System.Text; using Overlord.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using UnityEngine; namespace Game.NPCs diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs index 4a9b2f64..032ed6da 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/DialogueQuestOpener.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Overlord.NarrativeGenerator.Quests; using UnityEngine; diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs index b9a985cb..ace1b875 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/NpcDialogueGenerator.cs @@ -3,6 +3,7 @@ using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using MyBox; using Overlord.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.NPCs { diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/PTBR_NpcDialogueGenerator.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/PTBR_NpcDialogueGenerator.cs index 2c0c6958..8896eda1 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/PTBR_NpcDialogueGenerator.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/PTBR_NpcDialogueGenerator.cs @@ -2,7 +2,7 @@ using Game.NarrativeGenerator.Quests; using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using MyBox; -using UnityEngine; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.NPCs.PTBR { diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ExchangeQuestCheckpoint.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ExchangeQuestCheckpoint.cs index 35e19948..4118134a 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ExchangeQuestCheckpoint.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ExchangeQuestCheckpoint.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Não quero nada que você tenha a oferecer. O quê? {questSo.GetOwnerNpc()} te enviou? Affe, ta bom então." }; @@ -21,7 +21,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "{questSo.GetOwnerNpc()} te enviou aqui pra trocar alguns itens comigo?" }; @@ -35,7 +35,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Uuuuuh, eu lembro sim do {questSo.GetOwnerNpc()} mencionando sobre uma troca. Eu fiquei tão animado que até esqueci o que ele ofereceu. Estou feliz que você está aqui pra ajudar c:" }; diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ListenQuestCheckPoint.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ListenQuestCheckPoint.cs index e7a07420..ad8e9f60 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ListenQuestCheckPoint.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ListenQuestCheckPoint.cs @@ -8,7 +8,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Não acredito que {questSo.GetOwnerNpc()} está mandando bobalhões que nem você virem aqui tirar a minha paz." }; @@ -22,7 +22,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "{questSo.GetOwnerNpc()} te enviou aqui pra ouvir o que eu tenho a dizer?" }; @@ -36,7 +36,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "{questSo.GetOwnerNpc()} disse pra você vir aqui?! Estou tão feliz! Adoro poder conversar :)" }; diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ReportQuestCheckpoint.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ReportQuestCheckpoint.cs index 2db4f7d6..d3a5f0a6 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ReportQuestCheckpoint.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestCheckpoints/ReportQuestCheckpoint.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Eu não ligo pro que {questSo.GetOwnerNpc()} tem a \"reportar\". Diga pra {questSo.GetOwnerNpc()} não falar mais comigo." }; @@ -21,7 +21,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Oh? Você está com informações vindas de {questSo.GetOwnerNpc()}? ... Entendo, muito bem. Você pode dizer que a mensagem foi recebida." }; @@ -35,7 +35,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "{questSo.GetOwnerNpc()} disse o queeeee? Muito obrigada por me avisar! Pode dizer um muito obrigado a {questSo.GetOwnerNpc()} também!" }; diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExchangeQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExchangeQuestCloser.cs index 8da800f5..7b225658 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExchangeQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExchangeQuestCloser.cs @@ -8,7 +8,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) { return new string[] { "Hmph. Acho que devo te agradecer por fazer essa tarefa. Você pegou a recompensa, certo? Não espere mais favores de mim.", @@ -46,7 +46,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por lidar com essa troca! {questSo.GetTargetNpc()} sempre dá boas recompensas, e tenho certeza de que você mereceu.", "Agradeço por cuidar disso! {questSo.GetTargetNpc()} nem sempre é fácil de lidar, mas aposto que a recompensa valeu a pena.", @@ -73,7 +73,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Você é incrível! Obrigado por ajudar com essa troca. {questSo.GetTargetNpc()} tem as melhores recompensas, não é? Espero que você tenha conseguido algo incrível!", "Não sei como te agradecer o suficiente por isso! {questSo.GetTargetNpc()} realmente sabe fazer um bom negócio, e tenho certeza de que te deram algo que valeu seu tempo!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExploreQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExploreQuestCloser.cs index b9ff5c1d..a577cce3 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExploreQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ExploreQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Bem, você realmente fez isso. Acho que você não é completamente inútil, afinal. Obrigado pelo relatório.", "Huh, você explorou todas aquelas áreas. Certo, acho que você serve para alguma coisa. Obrigado, acho.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por explorar essas áreas e trazer as informações de volta. Elas serão inestimáveis para nossos próximos passos.", "Eu realmente aprecio você ter tirado o tempo para investigar essas áreas. Suas descobertas farão uma enorme diferença.", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Oh, uau! Você realmente se superou! Explorou todas essas áreas e ainda trouxe todos os detalhes? Não consigo acreditar! Você é um verdadeiro tesouro, sabia disso?", "Muito obrigado por fazer isso! Você cobriu tantas áreas, e estou absolutamente empolgado para ouvir o que descobriu. Quero dizer, quem mais poderia ter feito isso?", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GatherQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GatherQuestCloser.cs index 515dc3ef..5cf98151 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GatherQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GatherQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Huh. Você encontrou as coisas. Não achei que você conseguiria. Obrigado, acho.", "Bem, você conseguiu reunir tudo. Vou te dar crédito por isso. Agora, me deixe em paz.", @@ -33,7 +33,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Você conseguiu! Eu realmente aprecio você ter reunido tudo isso. Isso será de grande ajuda daqui para frente.", "Você realmente se superou! Obrigado por conseguir tudo o que pedi—isso será muito útil.", @@ -57,7 +57,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Oh, uau, você realmente encontrou todos eles! Estou tão feliz que você conseguiu localizá-los! Você não faz ideia de como as coisas vão ficar mais fáceis agora. Você é um salvador!", "Olhe para tudo isso! Não acredito que você encontrou tudo—bem, na verdade, acredito, conhecendo você! Você realmente se superou, não é? Vou começar a usar isso imediatamente!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GiveQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GiveQuestCloser.cs index 681517e3..557df7a7 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GiveQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GiveQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Bem, você realmente conseguiu. Encontrou o item e entregou para eles. Acho que isso vale um 'obrigado.'", "Huh. Você passou por todo esse trabalho e realmente entregou o item. Tudo bem, suponho que devo agradecer.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por pegar aquele item e entregá-lo a eles. Não posso dizer o quanto isso vai ajudar.", "Eu realmente aprecio você ter cuidado disso por mim. Entregar esse item para eles não foi uma tarefa pequena. Você fez um ótimo trabalho!", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Uau, você realmente fez isso! Você reuniu o item e o entregou, nada menos! Quero dizer, eu sabia que você tinha isso em você, mas ainda assim! Foi uma tarefa e tanto, e estou tão grato que você fez acontecer!", "Oh meu Deus, você foi além, não foi? Não só reuniu o item, mas realmente o entregou! Você está facilitando a vida de todos por aqui. Muito obrigado!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GoToQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GoToQuestCloser.cs index 09f32244..f0e5d02b 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GoToQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/GoToQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Bem, você realmente foi até lá e voltou. Acho que devo te agradecer por isso, mas não espere que eu fique todo animado.", "Você foi até aquelas coordenadas e voltou inteiro. Tudo bem, obrigado, acho. Agora não me faça pedir de novo.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Você realmente foi até lá e voltou com as informações? Muito bem! Fico feliz que você tenha conseguido esse relatório. Era exatamente o que eu precisava!", "Não acredito que você foi até aquelas coordenadas e voltou em segurança! Você fez um trabalho fantástico, e eu agradeço pela atualização.", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Uau, você realmente foi até lá? Quero dizer, eu sabia que você estava à altura da tarefa, mas não esperava que voltasse tão rápido! Não consigo dizer o quanto essas informações são úteis. Estamos mais perto de resolver isso!", "Você fez a jornada até aquelas coordenadas e voltou com todos os detalhes? Isso é impressionante! Vou admitir, não tinha certeza se você conseguiria, mas aqui estamos—obrigado! Essas informações são exatamente o que precisávamos.", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/KillQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/KillQuestCloser.cs index ec0161fb..d9a5e8b1 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/KillQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/KillQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Bem, você foi e matou eles. Não achei que fosse capaz, mas aqui está você. Obrigado, acho.", "Você matou os inimigos e voltou para relatar? Certo. Eu aceito. Só não me faça pedir de novo.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por lidar com aqueles inimigos. Eu não tinha certeza se você voltaria, mas conseguiu. Seu relatório é exatamente o que precisávamos.", "Não acredito que você realmente os derrotou e voltou com todas as informações! Ótimo trabalho—isso vai ajudar muito.", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Ah, você realmente fez isso agora! Você foi lá, lidou com aqueles inimigos e voltou com todos os detalhes. Isso é mais do que eu poderia esperar. Honestamente, você nos salvou de muitas dores de cabeça. Eu te devo uma!", "Bem, bem, bem! Você realmente foi lá e matou aqueles inimigos sem suar, e depois voltou com um relatório completo. Você realmente se superou. Você tem talento para esse tipo de coisa, não é?", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ListenQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ListenQuestCloser.cs index acbdfc41..aa846fe2 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ListenQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ListenQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Certo, tudo bem... obrigado por ouvir {questSo.GetTargetNpc()}. Isso me economiza o trabalho, eu acho.", "Hmph. Acho que devo te agradecer por lidar com {questSo.GetTargetNpc()}. {questSo.GetTargetNpc()} realmente fala demais, não?", @@ -35,7 +35,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por ouvir {questSo.GetTargetNpc()}. {questSo.GetTargetNpc()} precisavam disso, e eu sei que fez a diferença.", "Significa muito que você tenha ouvido {questSo.GetTargetNpc()}. Não muitos teriam dedicado seu tempo.", @@ -61,7 +61,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Oh, muito obrigado por ouvir {questSo.GetTargetNpc()}! Eles têm as histórias mais fascinantes, não têm?", "Você ouviu {questSo.GetTargetNpc()}? Maravilhoso! Não são uma verdadeira fonte de informações?", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReadQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReadQuestCloser.cs index b8f17a31..2fabbcf9 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReadQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReadQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Hmph, eu não achava que você realmente ia se dar ao trabalho de ler isso. Mas, tudo bem. As informações sobre aquelas ruínas amaldiçoadas? Sim, é exatamente o que precisávamos. Agora podemos seguir em frente. Eu acho... obrigado.", "Você realmente leu isso? Não foi ruim. O pergaminho sobre criaturas mágicas? Tinha algumas informações boas. Fraquezas, hábitos, esse tipo de coisa. Enfim, obrigado, eu acho.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Você realmente leu tudo isso? Impressionante! Os detalhes do livro sobre os rituais antigos são exatamente o que eu estava procurando. Isso vai facilitar muito nosso próximo passo—obrigado pelo seu esforço!", "Ah, você realmente leu isso! O pergaminho sobre criaturas mágicas tinha uns detalhes fascinantes, não tinha? Agora sabemos mais sobre suas fraquezas. Não tenho palavras para agradecer por isso.", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Ah, então você realmente leu isso! Eu estava me perguntando o que você ia encontrar aí. As informações sobre artefatos antigos são exatamente o que eu precisava—obrigado por passar por todo esse trabalho!", "Uau, você realmente foi lá e leu isso! A história do antigo reino? Coisa fascinante, né? Eu tinha a sensação de que isso ia nos dar uma luz sobre nosso próximo passo. Eu realmente agradeço!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReportQuestCloser.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReportQuestCloser.cs index fbd29c73..e50e2156 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReportQuestCloser.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestClosers/ReportQuestCloser.cs @@ -7,7 +7,7 @@ protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Ugh, então você realmente fez isso... Bem, acho que o outro NPC já sabe agora. Não espere que eu seja todo agradecido, mas... tudo bem, obrigado.", "Demorou, né? Pelo menos agora a informação está com {questSo.GetTargetNpc()}. Eu não achei que você fosse seguir até o fim, mas aqui estamos.", @@ -39,7 +39,7 @@ protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Obrigado por passar isso para {questSo.GetTargetNpc()}. Tenho certeza de que vai facilitar as coisas para todo mundo. Bom trabalho!", "Bom trabalho! {questSo.GetTargetNpc()} tem a informação agora. Agradeço por ter tirado um tempo para reportar isso.", @@ -71,7 +71,7 @@ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Oh, fantástico! Você realmente fez um grande favor para nós, levando essa informação até {questSo.GetTargetNpc()}. Tenho certeza de que {questSo.GetTargetNpc()} adorou saber o que você descobriu. Ótimo trabalho!", "Olha só você! Passando informações importantes assim—agora {questSo.GetTargetNpc()} pode começar a trabalhar nisso. Tenho certeza de que vai ajudar muito. Milhões de muitos obrigados!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs index e9efadf7..1eda4889 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs @@ -1,11 +1,24 @@ -using System.Text; +using Overlord.NarrativeGenerator; using Overlord.NarrativeGenerator.Quests; +using System.Text; +using Topdown.Overlord.NarrativeGenerator; using UnityEngine; +using static Util.Enums; namespace Game.NPCs { - public class QuestDialogue + public class QuestDialogue : MonoBehaviour { + protected Language _language; + + private void Awake() + { + var questGeneratorManager = FindObjectOfType(); + if (questGeneratorManager == null) + questGeneratorManager = FindObjectOfType(); + _language = questGeneratorManager.language; + } + protected virtual string [] lowSocialDialogues { get { return new string[0]; } } @@ -34,7 +47,7 @@ public string CreateQuestDialogue(QuestSo closedQuest, NpcSo speaker) protected string GetQuestDialogue( string[] dialogues, QuestSo quest, NpcSo speaker ) { var createdDialogue = new StringBuilder(); - int randomDialogue = Random.Range( 0, dialogues.Length ); + int randomDialogue = UnityEngine.Random.Range( 0, dialogues.Length ); if ( dialogues.Length == 0 ) { @@ -47,12 +60,12 @@ protected string GetQuestDialogue( string[] dialogues, QuestSo quest, NpcSo spea .Replace("{speaker.NpcName}", speaker.NpcName) .Replace("{speaker.Job}", speaker.Job.ToString()) .Replace("{questSo.GetTargetNpc()}", quest.GetTargetNpc()) - .Replace("{questSo.GetItemAmountString()}", quest.GetItemAmountString()) + .Replace("{questSo.GetItemAmountString()}", quest.GetItemAmountString(_language)) .Replace("{questSo.GetItemString()}", quest.GetItemString()) .Replace("{questSo.GetRoomAmount()}", quest.GetRoomAmount()) .Replace("{questSo.GetRoomCoordinates()}", quest.GetRoomCoordinates()) - .Replace("{questSo.GetEnemyAmountString()}", quest.GetEnemyAmountString()) - .Replace("{questSo.GetEnemyString()}", quest.GetEnemyString()) + .Replace("{questSo.GetEnemyAmountString()}", quest.GetEnemyAmountString(_language)) + .Replace("{questSo.GetEnemyString()}", quest.GetEnemyString(_language)) .Replace("{questSo.GetOwnerNpc()}",quest.GetOwnerNpc()) ); return createdDialogue.ToString(); diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExchangeQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExchangeQuestOpener.cs index 61e79aa0..a902975a 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExchangeQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExchangeQuestOpener.cs @@ -7,7 +7,7 @@ public class ExchangeQuestOpener : QuestDialogue protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Ugh, eu não tenho tempo para essa missão. Se faça útil e faça isso por mim. Vá trocar um {questSo.GetItemString()} com {questSo.GetTargetNpc()}. Talvez você ganhe algo em troca.", "Olha, eu não estou afim de lidar com {questSo.GetTargetNpc()} hoje. Você cuida da troca e {questSo.GetTargetNpc()} vai te recompensar. Tudo o que você precisa fazer é levar um {questSo.GetItemString()} até eles.", @@ -30,7 +30,7 @@ protected override string[] lowSocialDialogues protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Se você topar, eu preciso que você troque um {questSo.GetItemString()} com {questSo.GetTargetNpc()}. Ele precisa disso para um novo feitiço que estão aprendendo e vai te recompensar generosamente por isso.", "Você estaria disposto a fazer uma troca para mim? Dê um {questSo.GetItemString()} para {questSo.GetTargetNpc()}, e ouvi dizer que ele tem uma boa recompensa pronta.", @@ -49,7 +49,7 @@ protected override string[] averageSocialDialogues protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Ah, você é exatamente a pessoa que eu preciso! Você poderia levar um {questSo.GetItemString()} até {questSo.GetTargetNpc()}? Tenho certeza de que vão te recompensar grandemente!", "Eu ouvi dizer que {questSo.GetTargetNpc()} está morrendo de vontade de colocar as mãos em um {questSo.GetItemString()}. Leve até ele, e ele vão ficar muito feliz — inclusive, acho que é de seu interesse saber que ele sempre dá as melhores recompensas!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExploreQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExploreQuestOpener.cs index 0b1a76c5..0deaf20b 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExploreQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ExploreQuestOpener.cs @@ -5,7 +5,7 @@ public class ExploreQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Já faz um tempo desde que deixei minhas funções aqui como {speaker.Job}. Nem sei se essa masmorra tem {questSo.GetRoomAmount()} cômodos. ... Você pode confirmar isso?", "Ótimo, outra coisa que eu não posso fazer. Vá procurar {questSo.GetRoomAmount()} cômodos nesta masmorra e me avise o que encontrou.", @@ -25,7 +25,7 @@ protected override string [] lowSocialDialogues{ protected override string [] averageSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Meu melhor amigo costumava ser cartógrafo. Ele vai me visitar em breve e eu estava pensando em preparar uma surpresa. Você pode ajudar? Eu queria fazer um mapa para explorarmos juntos, mas antes preciso confirmar o tamanho. Você poderia verificar se há pelo menos {questSo.GetRoomAmount()} cômodos aqui?", "Às vezes eu fico imaginando como seria ser cartógrafo. Talvez eu devesse tentar fazer um mapa para mim mesmo. Não sei se {questSo.GetRoomAmount()} seria um mapa muito grande... Você poderia explorar {questSo.GetRoomAmount()} cômodos e me contar como são para eu poder começar meu mapa?", @@ -45,7 +45,7 @@ protected override string [] averageSocialDialogues{ protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Ei, você poderia me fazer um pequeno favor e explorar {questSo.GetRoomAmount()} cômodos nesta área? Eu iria eu mesmo, mas quem sabe o que tem lá! Eu só ia entrar em pânico!", "Então, uma história engraçada—eu estava querendo olhar aqueles {questSo.GetRoomAmount()} cômodos, mas sempre aparece algo! Você pode cuidar disso para mim? Tenho certeza que são fascinantes!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GatherQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GatherQuestOpener.cs index 14c58967..bf3f4894 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GatherQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GatherQuestOpener.cs @@ -7,7 +7,7 @@ public class GatherQuestOpener : QuestDialogue protected override string[] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Nossa, eu me pergunto como esse lugar ficou tão bagunçado em primeiro lugar. Seja útil e colete os {questSo.GetItemAmountString()} que estão por aí.", "Eu preciso de {questSo.GetItemAmountString()} para um feitiço. Que feitiço? Não é da sua conta. Você pode até ficar com os {questSo.GetItemString()}.", @@ -30,7 +30,7 @@ protected override string[] lowSocialDialogues protected override string[] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Esse lugar está uma bagunça! Você poderia, por favor, coletar os {questSo.GetItemAmountString()} que estão por aí?", "Eu estou começando a estudar {questSo.GetItemString()}. Você poderia me trazer {questSo.GetItemAmountString()} para eu dar uma olhada? Você pode ficar com eles, eu só preciso estudar um pouco…", @@ -55,7 +55,7 @@ protected override string[] averageSocialDialogues protected override string[] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Ah, sabe, eu venho pensando nisso há um tempo, e eu só preciso perguntar—você poderia coletar {questSo.GetItemAmountString()} para mim? Eles são tão brilhantes e raros! Eu faria isso, mas, bem, você é muito melhor nisso!", "Você não vai acreditar, mas eu ouvi dizer que existem exatamente {questSo.GetItemAmountString()} por aí, esperando para serem encontrados! Você se importaria de coletá-los para mim? Imagina as possibilidades quando tivermos eles!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GiveQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GiveQuestOpener.cs index 731b789d..e1390bea 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GiveQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GiveQuestOpener.cs @@ -6,7 +6,7 @@ public class GiveQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Leve {questSo.GetItemAmountString()} para {questSo.GetTargetNpc()}. Eu faria isso, mas tenho coisas mais importantes para fazer.", "Ugh, tá bom. Você está aqui, então seja útil e entregue {questSo.GetItemAmountString()} para {questSo.GetTargetNpc()}. Não perca.", @@ -36,7 +36,7 @@ protected override string [] lowSocialDialogues{ protected override string [] averageSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Você poderia levar {questSo.GetItemAmountString()} para {questSo.GetTargetNpc()} para mim? Ele está esperando isso, e eu ficaria grato pela ajuda!", "Aqui está um item que {questSo.GetTargetNpc()} precisa. Você pode entregá-lo para ele? Eu confio que você vai fazer isso com segurança.", @@ -58,7 +58,7 @@ protected override string [] averageSocialDialogues{ protected override string [] highSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Oh, oi! Justo a pessoa que eu esperava ver! Então, {questSo.GetTargetNpc()} me disse um tempo atrás que ele precisa de {questSo.GetItemAmountString()}. Mas, você sabe como é, eu sempre me distraio e esqueço no meio do caminho. Você pode entregar para ele por mim? Por favor?", "Ai meu Deus, eu estava querendo levar {questSo.GetItemAmountString()} para {questSo.GetTargetNpc()} há séculos! Bem, ok, talvez não séculos, mas parece que foi. Enfim, você pode entregar? Você é muito melhor nisso!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GoToQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GoToQuestOpener.cs index 89e25752..8b7861cd 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GoToQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/GoToQuestOpener.cs @@ -7,7 +7,7 @@ public class GoToQuestOpener : QuestDialogue protected override string [] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Ugh, aquela área tem sido uma dor de cabeça para mim. Lá nas coordenadas {questSo.GetRoomCoordinates()}? Vai lá dar uma olhada e ver o que está causando todo esse alvoroço, pode ser?", "Aquele lugar em {questSo.GetRoomCoordinates()} ainda não foi explorado, e eu estou ocupado demais para lidar com isso. Acho que agora é seu problema.", @@ -30,7 +30,7 @@ protected override string [] lowSocialDialogues { protected override string [] averageSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string[] { "Estou pensando em entrar em um concurso de pintura, mas ainda estou decidindo o que pintar. Ouvi dizer que há um lugar bonito nas coordenadas {questSo.GetRoomCoordinates()}. Você pode ir lá e dar uma olhada para mim?", "Você se importaria de dar uma olhada em uma área para mim? Ouvi dizer que há algo interessante nas coordenadas {questSo.GetRoomCoordinates()}, mas eu não posso ir pessoalmente.", @@ -62,7 +62,7 @@ protected override string [] averageSocialDialogues{ protected override string [] highSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Oh, você está aqui! Fantástico! Então, tem esse ponto nas coordenadas {questSo.GetRoomCoordinates()} que tem me incomodado de curiosidade há séculos. Você poderia dar uma olhada? Eu iria eu mesmo, mas, sabe, motivos!", "Ei, eu fiquei olhando esse mapa por horas, e tem algo intrigante nas coordenadas {questSo.GetRoomCoordinates()}. Você poderia explorar para mim? Ah, e não se esqueça de tirar umas notas—eu adoro detalhes!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/KillQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/KillQuestOpener.cs index 50c77c1c..3e9fd7bd 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/KillQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/KillQuestOpener.cs @@ -5,7 +5,7 @@ public class KillQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Não há nada que eu desgoste mais do que {questSo.GetEnemyString()}. Vou te dizer o que, se você se livrar de {questSo.GetEnemyAmountString()}, talvez eu te dê uma recompensa.", "Esses {questSo.GetEnemyString()} estão atrapalhando meu caminho. Seja útil e mate {questSo.GetEnemyAmountString()}.", @@ -35,7 +35,7 @@ protected override string [] lowSocialDialogues{ protected override string [] averageSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "ATCHOOO, a-- ATCHOOO .... Oh, desculpe por isso. Na verdade, sou alérgico a {questSo.GetEnemyString()}. Como funciona isso, você pergunta? Bem, melhor perguntar para o meu médico do que para mim... Você poderia se livrar de {questSo.GetEnemyAmountString()}? Isso me ajudaria muito...", "Isso é um pouco embaraçoso, mas na verdade eu sou assustado com {questSo.GetEnemyString()}. Você poderia se livrar de alguns deles para mim? Acho que se você matar {questSo.GetEnemyAmountString()} eu me sentiria bem mais seguro!", @@ -63,7 +63,7 @@ protected override string [] averageSocialDialogues{ protected override string [] highSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Há muito tempo, um bando de {questSo.GetEnemyString()} matou minha mãe. Não sou muito fã de caçar monstros, mas acredito que devemos fazer algo para que as pessoas não se machuquem. Eu não tenho forças para isso, mas ficaria muito grato se você conseguisse se livrar de {questSo.GetEnemyAmountString()}.", "Estamos desesperados por ajuda. Os {questSo.GetEnemyString()} devem ser parados! Você pode lidar com {questSo.GetEnemyAmountString()} para nós?", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ListenQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ListenQuestOpener.cs index 27e810c5..c0463e3e 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ListenQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ListenQuestOpener.cs @@ -5,7 +5,7 @@ public class ListenQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Chega de perguntas! {questSo.GetTargetNpc()} tem as respostas. Vai lá e escute o que ele tem a dizer.", "Ugh, vai lá ouvir {questSo.GetTargetNpc()}, vai? Ele não vai parar de falar até alguém ouvir.", @@ -43,7 +43,7 @@ protected override string [] lowSocialDialogues { protected override string [] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Você tem se perguntado sobre as origens dessa masmorra? Vai lá ouvir {questSo.GetTargetNpc()} — ele viu coisas que podem te ajudar a entender mais.", "Pode ser útil ouvir {questSo.GetTargetNpc()}. Ele tem conhecimentos que podem te ajudar.", @@ -65,7 +65,7 @@ protected override string [] averageSocialDialogues { protected override string [] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Eu acho que seria útil você ouvir {questSo.GetTargetNpc()}. Ele tem uma sabedoria tranquila.", "Por favor, tire um tempo para ouvir {questSo.GetTargetNpc()}. Acho que você vai achar realmente proveitoso.", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReadQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReadQuestOpener.cs index 8448d3d4..fd41c5fe 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReadQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReadQuestOpener.cs @@ -5,7 +5,7 @@ public class ReadQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Tem um livro por aí que você precisa encontrar. Não me pergunte onde—apenas vá lá e leia.", "Eu não sou seu bibliotecário, mas tem um pergaminho que você precisa desenterrar e ler. Vai lá e encontra logo.", @@ -27,7 +27,7 @@ protected override string [] lowSocialDialogues { protected override string [] averageSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Você sabia que ao redor dessa masmorra há livros mágicos e escritos espalhados? Ouvi falar de um bem aqui perto. Você pode me dizer o que tem nele?", "Estou tentando dominar essa nova técnica mágica e ouvi dizer que tem um livro sobre isso. Se encontrar, pode me dizer o que ele diz?", @@ -61,7 +61,7 @@ protected override string [] averageSocialDialogues{ protected override string [] highSocialDialogues{ get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Oh! Eu acabei de lembrar, tem esse livro fascinante—acho que está escondido na biblioteca—ou talvez nas antigas ruínas? Enfim, você tem que encontrar e ler! É muito importante!", "Então, tem esse pergaminho, antigo e misterioso, que dizem conter segredos que ninguém jamais entendeu totalmente! Você consegue encontrá-lo e lê-lo para mim? Eu mal posso esperar para saber o que diz!", diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReportQuestOpener.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReportQuestOpener.cs index be005bf9..a5d03ae1 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReportQuestOpener.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestOpeners/ReportQuestOpener.cs @@ -6,7 +6,7 @@ public class ReportQuestOpener : QuestDialogue { protected override string [] lowSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Eu odeio ser o portador de más notícias... Ou de qualquer notícia... Seja útil e entregue este envelope para {questSo.GetTargetNpc()}.", "O que {questSo.GetTargetNpc()} me pediu para fazer vai se atrasar. Se os ver por aí, avise-os. Não vou sair do meu caminho para fazer isso.", @@ -40,7 +40,7 @@ protected override string [] lowSocialDialogues { protected override string [] averageSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "Preciso que alguém avise {questSo.GetTargetNpc()} que não vou conseguir devolver o livro dele tão cedo. Você pode fazer esse favor e contar para ele?", "{questSo.GetTargetNpc()} me emprestou um livro mágico, mas acho que vou precisar de mais algumas semanas para aprender os feitiços. Se os ver por aí, você pode perguntar se está tudo bem?", @@ -74,7 +74,7 @@ protected override string [] averageSocialDialogues { protected override string [] highSocialDialogues { get { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (_language == Util.Enums.Language.Portuguese) return new string [] { "PARE O MUNDO, A MAIOR FOFOCA ACABOU DE CHEGAR! Eu imploro, você pode contar para {questSo.GetTargetNpc()} sobre isso??", "Oh, você é exatamente a pessoa que eu preciso! Tenho essa informação vital, e realmente preciso que você a leve até {questSo.GetTargetNpc()}. Eles vão ficar tão gratos de ouvir isso de você!", diff --git a/Assets/Scripts/Game/NPCs/NpcController.cs b/Assets/Scripts/Game/NPCs/NpcController.cs index 35f12415..4007962f 100644 --- a/Assets/Scripts/Game/NPCs/NpcController.cs +++ b/Assets/Scripts/Game/NPCs/NpcController.cs @@ -5,12 +5,16 @@ using Game.Dialogues; using Game.Events; using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.Quests; using UnityEngine; using Game.NPCs.PTBR; -using Game.GameManager; using Overlord.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; +using static Util.Enums; +using Overlord.NarrativeGenerator; + +using Topdown.Overlord.NarrativeGenerator; + #if UNITY_EDITOR using MyBox; @@ -20,7 +24,6 @@ namespace Game.NPCs { - public class NpcController : QuestDialogueInteraction { // Just for debuging and easy seeing in inspector @@ -28,7 +31,7 @@ public class NpcController : QuestDialogueInteraction public bool IsMainQuestNpc = false; public static event EventHandler NpcInteraction; - private bool isInPortuguese = false; + private bool _isInPortuguese = false; [field: SerializeField] public NpcSo Npc { get; set; } public List ExchangeDataList { get; set; } public List GiveDataList { get; set; } @@ -38,7 +41,12 @@ public class NpcController : QuestDialogueInteraction protected override void Awake() { - isInPortuguese = GameManagerSingleton.Instance.IsInPortuguese; + var questGeneratorManager = FindObjectOfType(); + if (questGeneratorManager == null) + questGeneratorManager = FindObjectOfType(); + if (questGeneratorManager.language == Language.Portuguese) + _isInPortuguese = true; + base.Awake(); ExchangeDataList = new List(); GiveDataList = new List(); @@ -137,7 +145,7 @@ private void CreateQuestLineCompletedDialogue(object sender, NewQuestLineEventAr dialogue.StopDialogueFromQuest(-1); string closerLine; - if (isInPortuguese) + if (_isInPortuguese) closerLine = PTBR_NpcDialogueGenerator.CreateMainQuestLineCloser(eventArgs.QuestLine, Npc); else closerLine = NpcDialogueGenerator.CreateMainQuestLineCloser(eventArgs.QuestLine, Npc); @@ -164,7 +172,7 @@ private void CreateQuestLineOpenedDialogue(object sender, NewQuestLineEventArgs IsMainQuestNpc = true; string openerLine; - if (isInPortuguese) + if (_isInPortuguese) openerLine = PTBR_NpcDialogueGenerator.CreateMainQuestLineOpener(eventArgs.QuestLine, Npc); else openerLine = NpcDialogueGenerator.CreateMainQuestLineOpener(eventArgs.QuestLine, Npc); @@ -188,7 +196,7 @@ private void CreateExchangeDialogue(object sender, QuestElementEventArgs eventAr if (targetNpc != Npc) return; string openerLine; - if (isInPortuguese) + if (_isInPortuguese) openerLine = PTBR_NpcDialogueGenerator.CreateExchangeDialogue(exchangeEventArgs.ExchangeQuestData, Npc); else openerLine = NpcDialogueGenerator.CreateExchangeDialogue(exchangeEventArgs.ExchangeQuestData, Npc); @@ -205,7 +213,7 @@ private void CreateGiveDialogue(object sender, QuestElementEventArgs eventArgs) if (targetNpc != Npc) return; string openerLine; - if (isInPortuguese) + if (_isInPortuguese) openerLine = PTBR_NpcDialogueGenerator.CreateGiveDialogue(giveEventArgs.GiveQuestData, Npc); else openerLine = NpcDialogueGenerator.CreateGiveDialogue(giveEventArgs.GiveQuestData, Npc); @@ -247,7 +255,7 @@ public void Dev_CompleteQuest() protected override void CreateIntroDialogue() { - if (isInPortuguese) + if (_isInPortuguese) DialogueLine = PTBR_NpcDialogueGenerator.CreateGreeting(Npc); else DialogueLine = NpcDialogueGenerator.CreateGreeting(Npc); diff --git a/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs index 520316a1..d566dd4e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/DungeonRelatedNarrative/QuestDungeonsParameters.cs @@ -1,5 +1,5 @@ using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using System; using System.Collections.Generic; using System.Linq; diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs index ae931d19..bb3f3b13 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs @@ -7,6 +7,7 @@ using Overlord.RulesGenerator.EnemyGeneration; using UnityEngine; using Overlord.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.NarrativeGenerator.EnemyRelatedNarrative { diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs index 6f2a560d..ba3745c6 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs @@ -5,6 +5,7 @@ using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using UnityEngine; using Overlord.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.NarrativeGenerator.ItemRelatedNarrative { diff --git a/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs b/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs index 866b8eac..e9a5cc9b 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/NarrativeExperimentRepository.cs @@ -5,6 +5,7 @@ using Overlord.ProfileAnalyst; using System.Collections.Generic; using UnityEditor; +using Util; namespace Overlord.NarrativeGenerator { @@ -14,13 +15,16 @@ public class NarrativeExperimentRepository private List _questLinesForProfile; private IPlayerProfile _playerProfile; private GeneratorSettings _generatorSettings; + private Enums.Language _language; public NarrativeExperimentRepository(IPlayerProfile playerProfile, - PlayerProfileToQuestLinesDictionarySo playerProfileToQuestLines, GeneratorSettings generatorSettings) + PlayerProfileToQuestLinesDictionarySo playerProfileToQuestLines, GeneratorSettings generatorSettings, + Enums.Language language) { _playerProfile = playerProfile; _playerProfileToQuestLines = playerProfileToQuestLines; _generatorSettings = generatorSettings; + _language = language; } public void Save(QuestLineList questLines, string profileName) @@ -41,7 +45,7 @@ public void Save(QuestLineList questLines, string profileName) private void SetQuestLineListForProfile(QuestLineList questLines) { - _questLinesForProfile = new List { TopdownQuestSelector.CreateMissions(_generatorSettings) }; + _questLinesForProfile = new List { TopdownQuestSelector.CreateMissions(_generatorSettings, _language) }; /* if (_playerProfile is YeePlayerProfile playerProfile) { diff --git a/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs index 9b333ecc..0baa897e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/NpcRelatedNarrative/QuestNpcsParameters.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Text; using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using UnityEngine; using Overlord.NarrativeGenerator.Quests; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs index 3db22208..8fb07d0c 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Game.ExperimentControllers; using Game.NPCs; +using static Util.Enums; namespace Overlord.NarrativeGenerator.Quests { @@ -11,6 +12,6 @@ public interface ISymbol public string SymbolType {get;} public bool CanDrawNext {get;} public void SetNextSymbol ( MarkovChain chain ); - public QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings); + public QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language); } } \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs index 129c6ad9..93fbb1a6 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs @@ -1,7 +1,7 @@ using UnityEngine; using System.Collections.Generic; using Overlord.NarrativeGenerator; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Overlord.NarrativeGenerator.Quests.QuestGrammarNonTerminals; using Util; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs index 70cad966..17b403e9 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs @@ -16,7 +16,7 @@ public override void RemoveElementWithId(T questElement, int questId) throw new System.NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Util.Enums.Language language) { throw new System.NotImplementedException(); } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs index d8ed8f14..9d50a633 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs @@ -10,9 +10,9 @@ using MyBox; using Game.NarrativeGenerator.ItemRelatedNarrative; using Game.GameManager; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class AchievementQuestSo : QuestSo { @@ -34,14 +34,14 @@ public override Dictionary> NextSymbolChances } } - public override QuestSo DefineQuestSo ( List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings) + public override QuestSo DefineQuestSo ( List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language) { switch ( SymbolType ) { case Constants.GatherQuest: - return CreateAndSaveGatherQuestSo(questSos, generatorSettings.Gemstones, generatorSettings.ItemsToGather, npcInCharge); + return CreateAndSaveGatherQuestSo(questSos, generatorSettings.Gemstones, generatorSettings.ItemsToGather, npcInCharge, language); case Constants.ExchangeQuest: - return CreateAndSaveExchangeQuestSo(questSos, generatorSettings.PlaceholderNpcs, generatorSettings.Gemstones, generatorSettings.Tools, npcInCharge); + return CreateAndSaveExchangeQuestSo(questSos, generatorSettings.PlaceholderNpcs, generatorSettings.Gemstones, generatorSettings.Tools, npcInCharge, language); default: Debug.LogError("help something went wrong! - Achievement doesn't contain symbol: "+SymbolType); break; @@ -60,12 +60,12 @@ public override void RemoveElementWithId(T questElement, int questId) throw new NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Language l) { throw new NotImplementedException(); } - private static GatherQuestSo CreateAndSaveGatherQuestSo( List questSos, TreasureRuntimeSetSo possibleItems, RangedInt itemRange, NpcSo npcInCharge) + private static GatherQuestSo CreateAndSaveGatherQuestSo( List questSos, TreasureRuntimeSetSo possibleItems, RangedInt itemRange, NpcSo npcInCharge, Language language) { var getItemQuest = CreateInstance(); var selectedItems = new ItemAmountDictionary(); @@ -76,7 +76,7 @@ private static GatherQuestSo CreateAndSaveGatherQuestSo( List questSos, { selectedItems.AddItemWithId(selectedItem, questId); } - getItemQuest.Init(ItemsToString(selectedItems), false, questSos.Count > 0 + getItemQuest.Init(ItemsToString(selectedItems, language), false, questSos.Count > 0 ? questSos[^1] : null, selectedItems); getItemQuest.NpcInCharge = npcInCharge; if (questSos.Count > 0) @@ -88,7 +88,7 @@ private static GatherQuestSo CreateAndSaveGatherQuestSo( List questSos, } private static ExchangeQuestSo CreateAndSaveExchangeQuestSo( List questSos, List possibleNpcSos, - TreasureRuntimeSetSo itemsToGive, TreasureRuntimeSetSo itemsToReceive, NpcSo npcInCharge) + TreasureRuntimeSetSo itemsToGive, TreasureRuntimeSetSo itemsToReceive, NpcSo npcInCharge, Language language) { var exchangeQuest = CreateInstance(); var exchangedItems = new ItemAmountDictionary(); @@ -102,10 +102,10 @@ private static ExchangeQuestSo CreateAndSaveExchangeQuestSo( List quest npcCopy.Remove(npcInCharge); var selectedNpc = npcCopy.GetRandom(); - - if (GameManagerSingleton.Instance.IsInPortuguese) + + if (language == Language.Portuguese) exchangeQuest.Init($"Troque o item {selectedItem} com {selectedNpc} para receber uma recompensa!", false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc, exchangedItems, receivedItem); - else + else if (language == Language.English) exchangeQuest.Init($"Exchange {selectedItem} with {selectedNpc} for a reward!", false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc, exchangedItems, receivedItem); exchangeQuest.NpcInCharge = npcInCharge; @@ -119,14 +119,14 @@ private static ExchangeQuestSo CreateAndSaveExchangeQuestSo( List quest } - private static string ItemsToString(ItemAmountDictionary selectedItems) + private static string ItemsToString(ItemAmountDictionary selectedItems, Language language) { var stringBuilder = new StringBuilder(); for (var i = 0; i < selectedItems.Count; i++) { var itemAmountPair = selectedItems.ElementAt(i); - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { stringBuilder.Append($"Junte {itemAmountPair.Value} {itemAmountPair.Key}"); if (itemAmountPair.Value.QuestIds.Count > 1) @@ -139,7 +139,7 @@ private static string ItemsToString(ItemAmountDictionary selectedItems) stringBuilder.Append(" e "); } } - else + else if (language == Language.English) { stringBuilder.Append($"$Gather {itemAmountPair.Value} {itemAmountPair.Key}"); if (itemAmountPair.Value.QuestIds.Count > 1) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs index f641f255..77aebedf 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs @@ -1,7 +1,7 @@ using Game.NarrativeGenerator.ItemRelatedNarrative; using ScriptableObjects; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public struct ExchangeQuestData { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs index afcea1a4..ade068e3 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs @@ -8,9 +8,9 @@ using Game.NPCs; using Game.GameManager; using System.Linq; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ExchangeQuestSo : AchievementQuestSo { @@ -116,7 +116,7 @@ public override string GetTargetNpc() return Npc.NpcName; } - public override string GetItemAmountString() + public override string GetItemAmountString(Util.Enums.Language l) { var stringBuilder = new StringBuilder(); string spriteString; @@ -148,12 +148,11 @@ public override string GetItemString() return itemsToTrade; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { var stringBuilder = new StringBuilder(); - string spriteString; - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { stringBuilder.Append("Troque "); } @@ -171,7 +170,7 @@ public override void CreateQuestString() stringBuilder.Remove(stringBuilder.Length - 2, 2); } - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { stringBuilder.Append($" com {Npc.NpcName}.\n"); stringBuilder.Append($"Você receberá dele o {ExchangeData.ReceivedItem.ItemName}"); diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs index fece65ef..f4c88e4d 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs @@ -2,13 +2,12 @@ using Util; using System; using System.Text; -using System.Collections.Generic; using Game.NarrativeGenerator.ItemRelatedNarrative; using UnityEngine; using Game.GameManager; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class GatherQuestSo : AchievementQuestSo { @@ -58,10 +57,10 @@ public override QuestSo Clone() return cloneQuest; } - public override string GetItemAmountString() + public override string GetItemAmountString(Language language) { var stringBuilder = new StringBuilder(); - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { stringBuilder.Append("Colete "); } @@ -114,9 +113,9 @@ public override void RemoveElementWithId(T questElement, int questId) } } - public override void CreateQuestString() + public override void CreateQuestString(Util.Enums.Language l) { - QuestText = this.GetItemAmountString(); + QuestText = this.GetItemAmountString(l); } } } \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs index fd148fbe..6122a963 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs @@ -1,15 +1,13 @@ -using ScriptableObjects; using Util; using System; using System.Collections.Generic; -using Game.GameManager; using Game.ExperimentControllers; using UnityEngine; using Game.NPCs; using MyBox; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class CreativityQuestSo : QuestSo { @@ -29,14 +27,14 @@ public override Dictionary> NextSymbolChances } } - public override QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings) + public override QuestSo DefineQuestSo(List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language) { switch ( SymbolType ) { case Constants.ExploreQuest: - return CreateAndSaveExploreQuestSo(questSos, npcInCharge, generatorSettings.RoomsToExplore); + return CreateAndSaveExploreQuestSo(questSos, npcInCharge, generatorSettings.RoomsToExplore, language); case Constants.GotoQuest: - return CreateAndSaveGotoQuestSo(questSos, npcInCharge); + return CreateAndSaveGotoQuestSo(questSos, npcInCharge, language); default: Debug.LogError("help something went wrong! - Creativity doesn't contain symbol: "+SymbolType); break; @@ -55,20 +53,20 @@ public override void RemoveElementWithId(T questElement, int questId) throw new NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Enums.Language l) { throw new NotImplementedException(); } - private static ExploreQuestSo CreateAndSaveExploreQuestSo(List questSos, NpcSo npcInCharge, RangedInt roomsToExplore) + private static ExploreQuestSo CreateAndSaveExploreQuestSo(List questSos, NpcSo npcInCharge, RangedInt roomsToExplore, Language language) { var exploreQuest = CreateInstance(); var numOfRoomsToExplore = RandomSingleton.GetInstance().Random.Next(roomsToExplore.Max - roomsToExplore.Min) + roomsToExplore.Min; - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) exploreQuest.Init($"Explore {numOfRoomsToExplore} salas", false, questSos.Count > 0 ? questSos[^1] : null, numOfRoomsToExplore); - else + else if (language == Language.English) exploreQuest.Init($"Explore {numOfRoomsToExplore} rooms", false, questSos.Count > 0 ? questSos[^1] : null, numOfRoomsToExplore); if (questSos.Count > 0) @@ -82,13 +80,13 @@ private static ExploreQuestSo CreateAndSaveExploreQuestSo(List questSos return exploreQuest; } - private static GotoQuestSo CreateAndSaveGotoQuestSo( List questSos, NpcSo npcInCharge ) + private static GotoQuestSo CreateAndSaveGotoQuestSo( List questSos, NpcSo npcInCharge, Language language) { var gotoQuest = CreateInstance(); - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) gotoQuest.Init("Vá para a sala marcada", false, questSos.Count > 0 ? questSos[^1] : null); - else + else if (language == Language.English) gotoQuest.Init("Go to the marked room", false, questSos.Count > 0 ? questSos[^1] : null); if (questSos.Count > 0) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs index 7887403a..15d38230 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs @@ -1,9 +1,9 @@ using Util; using System; using System.Collections.Generic; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ExploreQuestSo : CreativityQuestSo { @@ -79,11 +79,11 @@ public override void RemoveElementWithId(T questElement, int questId) } } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { - if (GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) QuestText = $"Visite {NumOfRoomsToExplore} ou mais salas.\n"; - else + else if (language == Language.English) QuestText = $"Visit a total of {NumOfRoomsToExplore} rooms.\n"; } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs index 4a378c10..2bdbdc5e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs @@ -5,10 +5,9 @@ using Game.LevelGenerator.LevelSOs; using Game.LevelManager.DungeonLoader; using MyBox; -using UnityEngine; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class GotoQuestSo : CreativityQuestSo { @@ -72,11 +71,11 @@ public override void RemoveElementWithId(T questElement, int questId) IsCompleted = true; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { - if (GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) QuestText = $"Vá para a sala marcada no mapa! "; - else + else if (language == Language.English) QuestText = $"Go to the room highlighted in the map! "; } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs index 94884398..844d2fac 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs @@ -1,7 +1,7 @@ using Game.NPCs; using ScriptableObjects; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class GiveQuestData { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs index 08aef8a6..61e463b9 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs @@ -4,8 +4,9 @@ using System; using Game.NPCs; using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class GiveQuestSo : ImmersionQuestSo { @@ -69,7 +70,7 @@ public override string GetTargetNpc() return GiveQuestData.NpcToReceive.NpcName; } - public override string GetItemAmountString() + public override string GetItemAmountString(Util.Enums.Language l) { return " 1 "+GetItemString(); } @@ -101,11 +102,11 @@ public override void RemoveElementWithId(T questElement, int questId) HasItem = true; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { var spriteString = GiveQuestData.ItemToGive.GetToolSpriteString(); - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) QuestText = $"Entregue o item {GiveQuestData.ItemToGive.ItemName} {spriteString} para {GiveQuestData.NpcToReceive.NpcName}.\n"; else QuestText = $"Give the item {GiveQuestData.ItemToGive.ItemName} {spriteString} to {GiveQuestData.NpcToReceive.NpcName}.\n"; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs index bc82258d..12e7b131 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs @@ -6,9 +6,9 @@ using Game.ExperimentControllers; using UnityEngine; using Game.NPCs; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ImmersionQuestSo : QuestSo { @@ -30,18 +30,18 @@ public override Dictionary> NextSymbolChances } } - public override QuestSo DefineQuestSo ( List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings) + public override QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language) { switch ( SymbolType ) { case Constants.ListenQuest: - return CreateAndSaveListenQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs); + return CreateAndSaveListenQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs, language); case Constants.ReadQuest: - return CreateAndSaveReadQuestSo(questSos, npcInCharge, generatorSettings.ReadableItems); + return CreateAndSaveReadQuestSo(questSos, npcInCharge, generatorSettings.ReadableItems, language); case Constants.GiveQuest: - return CreateAndSaveGiveQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs, generatorSettings.Tools); + return CreateAndSaveGiveQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs, generatorSettings.Tools, language); case Constants.ReportQuest: - return CreateAndSaveReportQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs); + return CreateAndSaveReportQuestSo(questSos, npcInCharge, generatorSettings.PlaceholderNpcs, language); default: Debug.LogError("help something went wrong! - Immersion doesn't contain symbol: "+SymbolType); break; @@ -60,12 +60,12 @@ public override void RemoveElementWithId(T questElement, int questId) throw new NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Language l) { throw new NotImplementedException(); } - private static ListenQuestSo CreateAndSaveListenQuestSo (List questSos, NpcSo npcInCharge, List possibleNpcSos) + private static ListenQuestSo CreateAndSaveListenQuestSo (List questSos, NpcSo npcInCharge, List possibleNpcSos, Language language) { var listenQuest = CreateInstance(); NpcSo selectedNpc; @@ -74,9 +74,9 @@ private static ListenQuestSo CreateAndSaveListenQuestSo (List questSos, } while ( selectedNpc == npcInCharge && possibleNpcSos.Count != 1); - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) listenQuest.Init("Fale com "+selectedNpc.NpcName, false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc); - else + else if (language == Language.English) listenQuest.Init("Talk to " + selectedNpc.NpcName, false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc); listenQuest.NpcInCharge = npcInCharge; if (questSos.Count > 0) @@ -88,14 +88,14 @@ private static ListenQuestSo CreateAndSaveListenQuestSo (List questSos, return listenQuest; } - private static ReadQuestSo CreateAndSaveReadQuestSo (List questSos, NpcSo npcInCharge, TreasureRuntimeSetSo possibleItems) + private static ReadQuestSo CreateAndSaveReadQuestSo (List questSos, NpcSo npcInCharge, TreasureRuntimeSetSo possibleItems, Language language) { var readQuest = CreateInstance(); var selectedItem = possibleItems.GetRandomItem(); - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) readQuest.Init("Leia o conte�do do artefato "+selectedItem.ItemName, false, questSos.Count > 0 ? questSos[^1] : null, selectedItem); - else + else if (language == Language.English) readQuest.Init("Read " + selectedItem.ItemName, false, questSos.Count > 0 ? questSos[^1] : null, selectedItem); if (questSos.Count > 0) @@ -108,15 +108,15 @@ private static ReadQuestSo CreateAndSaveReadQuestSo (List questSos, Npc return readQuest; } - private static GiveQuestSo CreateAndSaveGiveQuestSo (List questSos, NpcSo npcInCharge, List possibleNpcSos, TreasureRuntimeSetSo possibleItems) + private static GiveQuestSo CreateAndSaveGiveQuestSo (List questSos, NpcSo npcInCharge, List possibleNpcSos, TreasureRuntimeSetSo possibleItems, Language language) { var giveQuest = CreateInstance(); var selectedNpc = possibleNpcSos.GetRandom(); var selectedItem = possibleItems.GetRandomItem(); - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) - giveQuest.Init($"D� o item {selectedItem} para {selectedNpc.NpcName}", false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc, selectedItem); - else + if (language == Language.Portuguese) + giveQuest.Init($"Dê o item {selectedItem} para {selectedNpc.NpcName}", false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc, selectedItem); + else if (language == Language.English) giveQuest.Init($"Give {selectedItem} to {selectedNpc.NpcName}", false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc, selectedItem); giveQuest.NpcInCharge = npcInCharge; @@ -129,7 +129,7 @@ private static GiveQuestSo CreateAndSaveGiveQuestSo (List questSos, Npc return giveQuest; } - private static ReportQuestSo CreateAndSaveReportQuestSo(List questSos, NpcSo npcInCharge, List possibleNpcSos) + private static ReportQuestSo CreateAndSaveReportQuestSo(List questSos, NpcSo npcInCharge, List possibleNpcSos, Language language) { var reportQuest = CreateInstance(); NpcSo selectedNpc; @@ -138,9 +138,9 @@ private static ReportQuestSo CreateAndSaveReportQuestSo(List questSos, } while ( selectedNpc == npcInCharge && possibleNpcSos.Count != 1); - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) reportQuest.Init("Retorne e reporte para "+selectedNpc.NpcName, false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc); - else + else if (language == Language.English) reportQuest.Init("Report back to " + selectedNpc.NpcName, false, questSos.Count > 0 ? questSos[^1] : null, selectedNpc); reportQuest.NpcInCharge = npcInCharge; if (questSos.Count > 0) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs index 7e4c5acf..fe1c567e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs @@ -4,9 +4,9 @@ using System.Collections.Generic; using System.Text; using Util; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ListenQuestSo : ImmersionQuestSo { @@ -74,11 +74,11 @@ public override void RemoveElementWithId(T questElement, int questId) IsCompleted = true; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { var stringBuilder = new StringBuilder(); - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { QuestText = $"Fale com {Npc.NpcName}.\n"; return; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs index a338e06c..5dab30aa 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs @@ -3,9 +3,9 @@ using Util; using System; using Game.GameManager; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ReadQuestSo : ImmersionQuestSo { @@ -66,14 +66,13 @@ public override void RemoveElementWithId(T questElement, int questId) IsCompleted = true; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { QuestText = $"Leia {ItemToRead.ItemName}.\n"; return; } - QuestText = $"Read the {ItemToRead.ItemName}.\n"; } } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs index 3d3f9b0c..fa20c94f 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs @@ -3,9 +3,9 @@ using System.Collections.Generic; using Game.NPCs; using Game.GameManager; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class ReportQuestSo : ImmersionQuestSo { @@ -71,9 +71,9 @@ public override void RemoveElementWithId(T questElement, int questId) IsCompleted = true; } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) { QuestText = $"Reporte para {Npc.NpcName}.\n"; return; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs index 4848e603..28c6bd30 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs @@ -1,6 +1,6 @@ using ScriptableObjects; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class DamageQuestData { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs index e9fba819..4ce153d6 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs @@ -4,9 +4,8 @@ using Util; using UnityEngine; using Game.GameManager; -using Overlord.NarrativeGenerator.Quests; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class DamageQuestSo : MasteryQuestSo { @@ -70,12 +69,12 @@ public override void RemoveElementWithId(T questElement, int questId) } } - public override void CreateQuestString() + public override void CreateQuestString(Enums.Language language) { - if (Game.GameManager.GameManagerSingleton.Instance.IsInPortuguese) - QuestText = $"{DamageData.Enemy.RealTypeName( GameManagerSingleton.Instance.IsInPortuguese )} e cause {DamageData.Damage} de dano nele.\n"; - else - QuestText = $"{DamageData.Enemy.RealTypeName( GameManagerSingleton.Instance.IsInPortuguese )} and give {DamageData.Damage} damage to it.\n"; + if (language == Enums.Language.Portuguese) + QuestText = $"{DamageData.Enemy.RealTypeName(language)} e cause {DamageData.Damage} de dano nele.\n"; + else if (language == Enums.Language.English) + QuestText = $"{DamageData.Enemy.RealTypeName(language)} and give {DamageData.Damage} damage to it.\n"; } } } \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs index 0b22b821..39b9be6c 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs @@ -6,9 +6,9 @@ using System.Text; using Util; using UnityEngine; -using Overlord.NarrativeGenerator.Quests; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { [Serializable] public class KillQuestSo : MasteryQuestSo @@ -70,19 +70,19 @@ public override QuestSo Clone() return cloneQuest; } - public override string GetEnemyAmountString() + public override string GetEnemyAmountString(Language language) { - CreateQuestString(); + CreateQuestString(language); return QuestText; } - public override string GetEnemyString() + public override string GetEnemyString(Language language) { var stringBuilder = new StringBuilder(); foreach (var enemyByAmount in EnemiesToKillByType.EnemiesByTypeDictionary) { - var spriteString = enemyByAmount.Key.GetEnemySpriteString( GameManagerSingleton.Instance.IsInPortuguese ); - stringBuilder.Append($"{enemyByAmount.Key.RealTypeName( GameManagerSingleton.Instance.IsInPortuguese )}s {spriteString}, "); + var spriteString = enemyByAmount.Key.GetEnemySpriteString(language); + stringBuilder.Append($"{enemyByAmount.Key.RealTypeName(language)}s {spriteString}, "); } if (stringBuilder.Length == 0) @@ -115,23 +115,19 @@ public override void RemoveElementWithId(T questElement, int questId) } } - public override void CreateQuestString() + public override void CreateQuestString(Language language) { var stringBuilder = new StringBuilder(); - if (GameManagerSingleton.Instance.IsInPortuguese) - { + if (language == Language.Portuguese) stringBuilder.Append("Derrote "); - } else - { stringBuilder.Append("Kill "); - } foreach (var enemyByAmount in OriginalEnemiesToKillByType.EnemiesByTypeDictionary) { - var spriteString = enemyByAmount.Key.GetEnemySpriteString( GameManagerSingleton.Instance.IsInPortuguese ); - stringBuilder.Append($"{enemyByAmount.Value.QuestIds.Count} {enemyByAmount.Key.RealTypeName( GameManagerSingleton.Instance.IsInPortuguese )}s {spriteString}, "); + var spriteString = enemyByAmount.Key.GetEnemySpriteString(language); + stringBuilder.Append($"{enemyByAmount.Value.QuestIds.Count} {enemyByAmount.Key.RealTypeName(language)}s {spriteString}, "); } if (stringBuilder.Length == 0) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs index d2e98c87..57db58ed 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs @@ -9,10 +9,10 @@ using System.Text; using Game.ExperimentControllers; using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Overlord.NarrativeGenerator.Quests; using MyBox; +using static Util.Enums; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { public class MasteryQuestSo : QuestSo { @@ -30,14 +30,14 @@ public override Dictionary> NextSymbolChances } } - public override QuestSo DefineQuestSo ( List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings) + public override QuestSo DefineQuestSo ( List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language) { switch ( SymbolType ) { case Constants.KillQuest: - return CreateAndSaveKillQuestSo(questSos, npcInCharge, generatorSettings.PossibleWeapons, generatorSettings.EnemiesToKill); + return CreateAndSaveKillQuestSo(questSos, npcInCharge, generatorSettings.PossibleWeapons, generatorSettings.EnemiesToKill, language); case Constants.DamageQuest: - return CreateAndSaveDamageQuestSo(questSos, npcInCharge, generatorSettings.PossibleWeapons); + return CreateAndSaveDamageQuestSo(questSos, npcInCharge, generatorSettings.PossibleWeapons, language); default: Debug.LogError("help something went wrong! - Mastery doesn't contain symbol: "+SymbolType); break; @@ -56,12 +56,12 @@ public override void RemoveElementWithId(T questElement, int questId) throw new NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Enums.Language l) { throw new NotImplementedException(); } - private static KillQuestSo CreateAndSaveKillQuestSo(List questSos, NpcSo npcInCharge, WeaponTypeRuntimeSetSO enemyTypes, RangedInt enemiesToKill) + private static KillQuestSo CreateAndSaveKillQuestSo(List questSos, NpcSo npcInCharge, WeaponTypeRuntimeSetSO enemyTypes, RangedInt enemiesToKill, Language language) { var killQuest = CreateInstance(); var selectedEnemyTypes = new EnemiesByType (); @@ -72,7 +72,7 @@ private static KillQuestSo CreateAndSaveKillQuestSo(List questSos, NpcS { selectedEnemyTypes.EnemiesByTypeDictionary.AddItemWithId(selectedEnemyType, questId); } - killQuest.Init(KillEnemyTypesToString(selectedEnemyTypes), false, questSos.Count > 0 + killQuest.Init(KillEnemyTypesToString(selectedEnemyTypes, language), false, questSos.Count > 0 ? questSos[^1] : null, selectedEnemyTypes); killQuest.NpcInCharge = npcInCharge; if (questSos.Count > 0) @@ -84,12 +84,12 @@ private static KillQuestSo CreateAndSaveKillQuestSo(List questSos, NpcS return killQuest; } - private static DamageQuestSo CreateAndSaveDamageQuestSo(List questSos, NpcSo npcInCharge, WeaponTypeRuntimeSetSO enemyTypes) + private static DamageQuestSo CreateAndSaveDamageQuestSo(List questSos, NpcSo npcInCharge, WeaponTypeRuntimeSetSO enemyTypes, Language language) { var damageQuest = ScriptableObject.CreateInstance(); var selectedEnemyType = enemyTypes.GetRandomItem(); var totalDamage = RandomSingleton.GetInstance().Random.Next(100) + 20; - damageQuest.Init(selectedEnemyType.RealTypeName( GameManagerSingleton.Instance.IsInPortuguese ), false, + damageQuest.Init(selectedEnemyType.RealTypeName(language), false, questSos.Count > 0 ? questSos[^1] : null, selectedEnemyType, totalDamage); if (questSos.Count > 0) @@ -101,16 +101,16 @@ private static DamageQuestSo CreateAndSaveDamageQuestSo(List questSos, return damageQuest; } - private static string KillEnemyTypesToString(EnemiesByType selectedEnemyTypes) + private static string KillEnemyTypesToString(EnemiesByType selectedEnemyTypes, Language language) { var stringBuilder = new StringBuilder(); for (var i = 0; i < selectedEnemyTypes.EnemiesByTypeDictionary.Count; i++) { var typeAmountPair = selectedEnemyTypes.EnemiesByTypeDictionary.ElementAt(i); - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) stringBuilder.Append($"Derrote {typeAmountPair.Value} {typeAmountPair.Key}"); - else + else if (language == Language.English) stringBuilder.Append($"Kill {typeAmountPair.Value} {typeAmountPair.Key}"); if (typeAmountPair.Value.QuestIds.Count > 1) @@ -119,7 +119,7 @@ private static string KillEnemyTypesToString(EnemiesByType selectedEnemyTypes) } if (i < (selectedEnemyTypes.EnemiesByTypeDictionary.Count - 1)) { - if (GameManagerSingleton.Instance.IsInPortuguese) + if (language == Language.Portuguese) stringBuilder.Append(" e "); else stringBuilder.Append(" and "); diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs index 36b7955e..c84fda6a 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs @@ -1,8 +1,7 @@ using System; using Util; -using Overlord.NarrativeGenerator.Quests; -namespace Game.NarrativeGenerator.Quests.QuestGrammarTerminals +namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { // [CreateAssetMenu(fileName = "Quest", menuName = "ScriptableObjects/GetQuest"), Serializable] public class EmptyQuestSo : QuestSo, ISymbol @@ -22,7 +21,7 @@ public override void RemoveElementWithId(T questElement, int questId) throw new NotImplementedException(); } - public override void CreateQuestString() + public override void CreateQuestString(Enums.Language l) { throw new NotImplementedException(); } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs index 17ec2e33..c5a0f75a 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs @@ -3,7 +3,7 @@ using System.Linq; using Game.ExperimentControllers; using Game.LevelGenerator.LevelSOs; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using Game.Quests; #if UNITY_EDITOR @@ -11,6 +11,7 @@ #endif using UnityEngine; using Util; +using static Util.Enums; using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator.Quests @@ -35,15 +36,23 @@ public class QuestLine : ScriptableObject, ISavableGeneratedContent public static event QuestElementEvent AllowCheckPointEventHandler; public static event QuestElementEvent AllowGiveEventHandler; + private Language _language; + public void Init() { Quests = new List(); CurrentQuestIndex = 0; } + public void Init(Language language) + { + Init(); + _language = language; + } + public void Init(QuestLine questLine) { - Quests = new List(); + Init(); foreach (var copyQuest in questLine.Quests.Select(quest => quest.Clone())) { if (Quests.Count > 0) @@ -59,7 +68,6 @@ public void Init(QuestLine questLine) RewardKeys.AddRange(questLine.RewardKeys); NpcInCharge = questLine.NpcInCharge; - CurrentQuestIndex = 0; } public void SaveAsset(string directory) @@ -200,7 +208,7 @@ public void PopulateQuestLine(in GeneratorSettings generatorSettings, NpcSo npcI var nonTerminalSymbol = questChain.GetLastSymbol(); nonTerminalSymbol.SetNextSymbol(questChain); - questChain.GetLastSymbol().DefineQuestSo(Quests, npcInCharge, in generatorSettings); + questChain.GetLastSymbol().DefineQuestSo(Quests, npcInCharge, in generatorSettings, _language); } } @@ -217,7 +225,7 @@ public void CompleteMissingQuests(in GeneratorSettings generatorSettings, NpcSo foreach (string missingQuest in missingQuests) { questChain.SetSymbol(missingQuest); - questChain.GetLastSymbol().DefineQuestSo(Quests, npcInCharge, in generatorSettings); + questChain.GetLastSymbol().DefineQuestSo(Quests, npcInCharge, in generatorSettings, _language); } } @@ -235,7 +243,7 @@ public void ConvertDataForCurrentDungeon(List dungeonParts) gotoQuest.SelectRoomCoordinates(dungeonParts); break; } - quest.CreateQuestString(); + quest.CreateQuestString(_language); } } } diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs index 161a04b1..db24ce0e 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs @@ -4,6 +4,7 @@ using UnityEngine; using Util; using Game.NPCs; +using static Util.Enums; #if UNITY_EDITOR using UnityEditor; @@ -44,8 +45,9 @@ public virtual bool CanDrawNext public string QuestName { get => questName; set => questName = value; } public bool EndsStoryLine { get => endsStoryLine; set => endsStoryLine = value; } public int Id { get; set; } + public Language Language { get; set; } - public virtual QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings) + public virtual QuestSo DefineQuestSo (List questSos, NpcSo npcInCharge, in GeneratorSettings generatorSettings, Language language) { return null; } @@ -138,7 +140,7 @@ public virtual string GetItemString() return ""; } - public virtual string GetItemAmountString() + public virtual string GetItemAmountString(Language language) { Debug.LogWarning(" Called base quest so, this should never happen! _ get item amount string"); return ""; @@ -156,13 +158,13 @@ public virtual string GetRoomAmount() return ""; } - public virtual string GetEnemyAmountString() + public virtual string GetEnemyAmountString(Language language) { Debug.LogWarning(" Called base quest so, this should never happen! _ get enemy amount string"); return ""; } - public virtual string GetEnemyString() + public virtual string GetEnemyString(Language language) { Debug.LogWarning(" Called base quest so, this should never happen! _ get enemy string"); return ""; @@ -181,6 +183,6 @@ public override string ToString() public abstract bool HasAvailableElementWithId(T questElement, int questId); public abstract void RemoveElementWithId(T questElement, int questId); - public abstract void CreateQuestString(); + public abstract void CreateQuestString(Language language); } } \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs index 9e2d0e3f..070c4c47 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs @@ -54,7 +54,7 @@ protected override async void HandleProfileSelected(IPlayerProfile profile) { if (yeeProfile.IsFixedFromExperiment || MustCreateNarrative) { - questLines = TopdownQuestSelector.CreateMissions(CurrentGeneratorSettings); + questLines = TopdownQuestSelector.CreateMissions(CurrentGeneratorSettings, language); await CreateNarrative(yeeProfile); } else @@ -72,7 +72,7 @@ protected override async Task CreateNarrative(YeePlayerProfile playerProfile) #if UNITY_EDITOR if (!CurrentGeneratorSettings.GenerateInRealTime) { - var narrativeExperimentRepository = new NarrativeExperimentRepository(playerProfile, _playerProfileToQuestLines, CurrentGeneratorSettings); + var narrativeExperimentRepository = new NarrativeExperimentRepository(playerProfile, _playerProfileToQuestLines, CurrentGeneratorSettings, language); narrativeExperimentRepository.Save(questLines, playerProfile.PlayerProfileEnum.ToString()); } #endif diff --git a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs index 2863e2ad..75f1c91f 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestSelector.cs @@ -3,12 +3,13 @@ using System; using Game.ExperimentControllers; using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using MyBox; using UnityEngine; using Util; using System.Net.NetworkInformation; +using Overlord.NarrativeGenerator.Quests; namespace Game.NarrativeGenerator { @@ -16,11 +17,13 @@ public static class TopdownQuestSelector { private static Dictionary _wasQuestAdded; private static GeneratorSettings _generatorSettings; + private static Enums.Language _language; - public static QuestLineList CreateMissions(in GeneratorSettings generatorSettings) + public static QuestLineList CreateMissions(in GeneratorSettings generatorSettings, Enums.Language language) { _generatorSettings = generatorSettings; _wasQuestAdded = new Dictionary(); + _language = language; return DrawMissions(); } diff --git a/Assets/Scripts/Game/Quests/EventArgs/QuestExchangeEventArgs.cs b/Assets/Scripts/Game/Quests/EventArgs/QuestExchangeEventArgs.cs index 6327395c..ffe108de 100644 --- a/Assets/Scripts/Game/Quests/EventArgs/QuestExchangeEventArgs.cs +++ b/Assets/Scripts/Game/Quests/EventArgs/QuestExchangeEventArgs.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.Quests { diff --git a/Assets/Scripts/Game/Quests/EventArgs/QuestGiveEventArgs.cs b/Assets/Scripts/Game/Quests/EventArgs/QuestGiveEventArgs.cs index d0e60e0a..e0800d4e 100644 --- a/Assets/Scripts/Game/Quests/EventArgs/QuestGiveEventArgs.cs +++ b/Assets/Scripts/Game/Quests/EventArgs/QuestGiveEventArgs.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; namespace Game.Quests { diff --git a/Assets/Scripts/Game/Quests/QuestController.cs b/Assets/Scripts/Game/Quests/QuestController.cs index f9f3c701..a9a6d547 100644 --- a/Assets/Scripts/Game/Quests/QuestController.cs +++ b/Assets/Scripts/Game/Quests/QuestController.cs @@ -4,7 +4,7 @@ using Game.LevelManager.DungeonLoader; using Game.LevelSelection; using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using ScriptableObjects; using UnityEngine; diff --git a/Assets/Scripts/Game/Quests/UI/QuestUI.cs b/Assets/Scripts/Game/Quests/UI/QuestUI.cs index 73159a4e..55860c60 100644 --- a/Assets/Scripts/Game/Quests/UI/QuestUI.cs +++ b/Assets/Scripts/Game/Quests/UI/QuestUI.cs @@ -1,11 +1,13 @@ using Game.NarrativeGenerator.Quests; using Game.Quests; +using Overlord.NarrativeGenerator; using System; using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.UIElements; +using Topdown.Overlord.NarrativeGenerator; public class QuestUI : MonoBehaviour { @@ -15,10 +17,14 @@ public class QuestUI : MonoBehaviour private VisualElement _root; private QuestLineList currentQuestLines; + private QuestGeneratorManager _questGeneratorManager; private void Awake() { QuestController questController = FindObjectOfType(); + _questGeneratorManager = FindObjectOfType(); + if ( _questGeneratorManager == null ) + _questGeneratorManager = FindObjectOfType(); if ( questController == null ) Destroy(gameObject); currentQuestLines = questController.QuestLines; @@ -57,7 +63,7 @@ public void PopulateLabels() { if (questLine.GetCurrentQuest() != null) { - questLine.GetCurrentQuest().CreateQuestString(); + questLine.GetCurrentQuest().CreateQuestString(_questGeneratorManager.language); //questContents[0] += "\n - "+questLine.GetCurrentQuest().GetType().Name.Replace("QuestSo", "") + " " + RemoveAngleBracketContent(questLine.GetCurrentQuest().ToString()); questContents[0] += "\n - " + " " + RemoveAngleBracketContent(questLine.GetCurrentQuest().ToString()); } diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile.meta new file mode 100644 index 00000000..12567544 --- /dev/null +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f9ba739832f3884c831f8ff5761d6d2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs index 2b7153cf..f7c9cc1c 100644 --- a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGeneratorManager.cs @@ -1,9 +1,11 @@ +using Game.ExperimentControllers; using MyBox; using Overlord.ProfileAnalyst; using Overlord.RulesGenerator.EnemyGeneration; using System.Threading.Tasks; using UnityEngine; -using Game.ExperimentControllers; +using Util; +using static Util.Enums; namespace Overlord.NarrativeGenerator { @@ -11,6 +13,8 @@ namespace Overlord.NarrativeGenerator public class QuestGeneratorManager : MonoBehaviour { [field: SerializeField] public bool MustCreateNarrative { get; set; } + [SerializeField] + public Language language = Language.Portuguese; public void OnEnable() { diff --git a/Assets/Scripts/ScriptableObjects/ReadableItemSo.cs b/Assets/Scripts/ScriptableObjects/ReadableItemSo.cs index 3038af0b..b4ad162d 100644 --- a/Assets/Scripts/ScriptableObjects/ReadableItemSo.cs +++ b/Assets/Scripts/ScriptableObjects/ReadableItemSo.cs @@ -1,6 +1,7 @@ using System; using System.Text; using UnityEngine; +using static Util.Enums; namespace ScriptableObjects { @@ -23,6 +24,11 @@ public string GetScrollSpriteString() return stringBuilder.ToString(); } + public string SetRandomText(Language language) + { + return SetRandomText(language == Language.Portuguese); + } + public string SetRandomText(bool isInPortuguese) { int text = UnityEngine.Random.Range(0, 11); diff --git a/Assets/Scripts/ScriptableObjects/WeaponTypeSo.cs b/Assets/Scripts/ScriptableObjects/WeaponTypeSo.cs index 2af594d2..316a6309 100644 --- a/Assets/Scripts/ScriptableObjects/WeaponTypeSo.cs +++ b/Assets/Scripts/ScriptableObjects/WeaponTypeSo.cs @@ -21,8 +21,6 @@ public class WeaponTypeSo : ScriptableObject [field: SerializeField] public bool HasSprite = true; [field: SerializeField] public bool IsPlatformGame = false; - - public string RealTypeName(bool isInPortuguese) { if (IsPlatformGame) @@ -63,6 +61,19 @@ public string RealTypeName(bool isInPortuguese) return EnemyTypeName; } + public string RealTypeName(Language language) + { + switch (language) + { + case Language.Portuguese: + return RealTypeName(true); + case Language.English: + return RealTypeName(false); + default: + return RealTypeName(false); + } + } + public bool IsHealer() { if (IsPlatformGame) @@ -103,5 +114,18 @@ public object GetEnemySpriteString(bool isInPortuguese) Debug.Log(stringBuilder.ToString()); return stringBuilder.ToString(); } + + public object GetEnemySpriteString(Language language) + { + switch (language) + { + case Language.Portuguese: + return GetEnemySpriteString(true); + case Language.English: + return GetEnemySpriteString(false); + default: + return GetEnemySpriteString(false); + } + } } } \ No newline at end of file diff --git a/Assets/Scripts/Util/Enums.cs b/Assets/Scripts/Util/Enums.cs index 52298ad1..b1926616 100644 --- a/Assets/Scripts/Util/Enums.cs +++ b/Assets/Scripts/Util/Enums.cs @@ -127,5 +127,11 @@ public enum GameType TopDown, Platformer } + + public enum Language + { + English, + Portuguese + } } } \ No newline at end of file From cfbecf361db8c35a8b0d473ac4baabc13e9c914c Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Sun, 30 Nov 2025 22:11:02 -0300 Subject: [PATCH 09/10] Move Narrative Generator's questSOs and related scripts --- .../Scripts/Game/DataCollection/RoomData.cs | 2 +- Assets/Scripts/Game/Events/EnterRoomEvent.cs | 2 +- .../Events/NPCDialogue/ItemTradeEventArgs.cs | 2 +- .../ExperimentControllers/ArenaController.cs | 6 ++-- .../Scripts/Game/GameManager/EnemyLoader.cs | 30 ++++------------ .../GameManager/Player/InventoryController.cs | 2 +- .../Scripts/Game/LevelGenerator/LevelSOs.meta | 2 +- .../LevelManager/DungeonLoader/DungeonRoom.cs | 4 +-- .../DungeonLoader/ItemDispenser.cs | 2 +- .../Game/LevelManager/DungeonLoader/Map.cs | 4 +-- .../LevelManager/DungeonManager/RoomBhv.cs | 3 +- Assets/Scripts/Game/Maestro/EnemySelector.cs | 2 +- .../QuestEnemiesParameters.cs | 14 +++++--- .../QuestGrammarTerminals/ItemQuestSo.cs | 2 +- .../NarrativeGenerator/Quests/QuestLine.cs | 3 +- .../Quests/QuestLineList.cs | 23 ++++++++----- .../TopdownQuestGeneratorManager.cs | 4 +-- .../EnemyRelatedNarrative.meta} | 2 +- .../EnemyByAmountDictionary.cs | 4 +-- .../EnemyByAmountDictionary.cs.meta | 0 .../WeaponTypeAmountDictionary.cs | 2 +- .../WeaponTypeAmountDictionary.cs.meta | 0 .../ItemRelatedNarrative.meta | 0 .../ItemRelatedNarrative}/EnemiesByType.cs | 15 ++++---- .../EnemiesByType.cs.meta | 0 .../ItemAmountDictionary.cs | 2 +- .../ItemAmountDictionary.cs.meta | 0 .../ItemRelatedNarrative/ItemsAmount.cs | 4 +-- .../ItemRelatedNarrative/ItemsAmount.cs.meta | 0 .../QuestItemsParameters.cs | 13 +++++-- .../QuestItemsParameters.cs.meta | 0 .../KeyByQuestIdsDictionary.cs | 6 ++-- .../KeyByQuestIdsDictionary.cs.meta | 0 .../MarkovChains.meta | 0 .../MarkovChains/ISymbol.cs | 0 .../MarkovChains/ISymbol.cs.meta | 0 .../MarkovChains/MarkovChain.cs | 0 .../MarkovChains/MarkovChain.cs.meta | 0 .../MarkovChains/StartSymbol.cs | 0 .../MarkovChains/StartSymbol.cs.meta | 0 .../QuestGenerationAlgorithm}/QuestIdList.cs | 2 +- .../QuestIdList.cs.meta | 0 .../QuestGenerationAlgorithm/QuestSelector.cs | 11 ++++++ .../QuestSelector.cs.meta | 11 ++++++ .../QuestsPerProfile}/Achievement.meta | 0 .../Achievement/AchievementQuestSo.cs | 4 +-- .../Achievement/AchievementQuestSo.cs.meta | 0 .../Achievement/ExchangeQuestData.cs | 2 +- .../Achievement/ExchangeQuestData.cs.meta | 0 .../Achievement/ExchangeQuestSo.cs | 4 +-- .../Achievement/ExchangeQuestSo.cs.meta | 0 .../Achievement/GatherQuestSo.cs | 3 +- .../Achievement/GatherQuestSo.cs.meta | 0 .../QuestsPerProfile}/Creativity.meta | 0 .../Creativity/CreativityQuestSo.cs | 0 .../Creativity/CreativityQuestSo.cs.meta | 0 .../Creativity/ExploreQuestSo.cs | 0 .../Creativity/ExploreQuestSo.cs.meta | 0 .../Creativity/GotoQuestSo.cs | 1 - .../Creativity/GotoQuestSo.cs.meta | 0 .../QuestsPerProfile}/EmptyQuestSo.cs | 0 .../QuestsPerProfile}/EmptyQuestSo.cs.meta | 0 .../QuestsPerProfile}/Immersion.meta | 0 .../Immersion/GiveQuestData.cs | 0 .../Immersion/GiveQuestData.cs.meta | 0 .../Immersion/GiveQuestSo.cs | 0 .../Immersion/GiveQuestSo.cs.meta | 0 .../Immersion/ImmersionQuestSo.cs | 0 .../Immersion/ImmersionQuestSo.cs.meta | 0 .../Immersion/ListenQuestSo.cs | 1 - .../Immersion/ListenQuestSo.cs.meta | 0 .../Immersion/ReadQuestSo.cs | 1 - .../Immersion/ReadQuestSo.cs.meta | 0 .../Immersion/ReportQuestSo.cs | 1 - .../Immersion/ReportQuestSo.cs.meta | 0 .../QuestsPerProfile}/Mastery.meta | 0 .../Mastery/DamageQuestData.cs | 0 .../Mastery/DamageQuestData.cs.meta | 0 .../Mastery/DamageQuestSo.cs | 1 - .../Mastery/DamageQuestSo.cs.meta | 0 .../QuestsPerProfile}/Mastery/KillQuestSo.cs | 3 +- .../Mastery/KillQuestSo.cs.meta | 0 .../Mastery/MasteryQuestSo.cs | 3 +- .../Mastery/MasteryQuestSo.cs.meta | 0 .../QuestsPerProfile}/QuestSo.cs | 0 .../QuestsPerProfile}/QuestSo.cs.meta | 0 .../OverlordData/NarrativeGenerator.meta | 8 +++++ .../Scripts/OverlordData/OverlordData.asmdef | 3 +- .../EnemiesForCurrentDungeon.cs | 34 +++++++++++++++++++ .../EnemiesForCurrentDungeon.cs.meta | 11 ++++++ .../RulesGenerator/EnemyRoomList.cs | 14 ++++++++ .../RulesGenerator/EnemyRoomList.cs.meta | 11 ++++++ .../Scripts/ScriptableObjects/LevelSOs.meta | 8 +++++ .../LevelSOs/DungeonRoomData.cs | 0 .../LevelSOs/DungeonRoomData.cs.meta | 0 95 files changed, 199 insertions(+), 93 deletions(-) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests.meta => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative.meta} (77%) rename Assets/Scripts/{Game/EnemyManager => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative}/EnemyByAmountDictionary.cs (67%) rename Assets/Scripts/{Game/EnemyManager => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative}/EnemyByAmountDictionary.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs (89%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/EnemyRelatedNarrative => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative}/EnemiesByType.cs (92%) rename Assets/Scripts/{Game/NarrativeGenerator/EnemyRelatedNarrative => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative}/EnemiesByType.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/ItemAmountDictionary.cs (90%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/ItemAmountDictionary.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/ItemsAmount.cs (95%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/ItemsAmount.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/QuestItemsParameters.cs (90%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/ItemRelatedNarrative/QuestItemsParameters.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/KeyByQuestIdsDictionary.cs (89%) rename Assets/Scripts/{Game/NarrativeGenerator => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/KeyByQuestIdsDictionary.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/ISymbol.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/ISymbol.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/MarkovChain.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/MarkovChain.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/StartSymbol.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/MarkovChains/StartSymbol.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/QuestIdList.cs (92%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm}/QuestIdList.cs.meta (100%) create mode 100644 Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs create mode 100644 Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs.meta rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/AchievementQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/AchievementQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/ExchangeQuestData.cs (93%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/ExchangeQuestData.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/ExchangeQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/ExchangeQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/GatherQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Achievement/GatherQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/CreativityQuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/CreativityQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/ExploreQuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/ExploreQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/GotoQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Creativity/GotoQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/QuestGrammarTerminals => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/EmptyQuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/QuestGrammarTerminals => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/EmptyQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/GiveQuestData.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/GiveQuestData.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/GiveQuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/GiveQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ImmersionQuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ImmersionQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ListenQuestSo.cs (99%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ListenQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ReadQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ReadQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ReportQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Immersion/ReportQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/DamageQuestData.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/DamageQuestData.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/DamageQuestSo.cs (99%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/DamageQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/KillQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/KillQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/MasteryQuestSo.cs (98%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests/ProfileQuests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/Mastery/MasteryQuestSo.cs.meta (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/QuestSo.cs (100%) rename Assets/Scripts/{Game/NarrativeGenerator/Quests => Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile}/QuestSo.cs.meta (100%) create mode 100644 Assets/Scripts/OverlordData/NarrativeGenerator.meta create mode 100644 Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs create mode 100644 Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs.meta create mode 100644 Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs create mode 100644 Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs.meta create mode 100644 Assets/Scripts/ScriptableObjects/LevelSOs.meta rename Assets/Scripts/{Game/LevelGenerator => ScriptableObjects}/LevelSOs/DungeonRoomData.cs (100%) rename Assets/Scripts/{Game/LevelGenerator => ScriptableObjects}/LevelSOs/DungeonRoomData.cs.meta (100%) diff --git a/Assets/Scripts/Game/DataCollection/RoomData.cs b/Assets/Scripts/Game/DataCollection/RoomData.cs index 56ceda1c..c3a886c1 100644 --- a/Assets/Scripts/Game/DataCollection/RoomData.cs +++ b/Assets/Scripts/Game/DataCollection/RoomData.cs @@ -1,4 +1,4 @@ -using Game.EnemyManager; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using Game.LevelManager; using System; using UnityEditor; diff --git a/Assets/Scripts/Game/Events/EnterRoomEvent.cs b/Assets/Scripts/Game/Events/EnterRoomEvent.cs index 7253fc49..a3f63f5c 100644 --- a/Assets/Scripts/Game/Events/EnterRoomEvent.cs +++ b/Assets/Scripts/Game/Events/EnterRoomEvent.cs @@ -1,5 +1,5 @@ using Game.DataCollection; -using Game.EnemyManager; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using Game.LevelManager; using System; using UnityEngine; diff --git a/Assets/Scripts/Game/Events/NPCDialogue/ItemTradeEventArgs.cs b/Assets/Scripts/Game/Events/NPCDialogue/ItemTradeEventArgs.cs index e5c07bab..62124971 100644 --- a/Assets/Scripts/Game/Events/NPCDialogue/ItemTradeEventArgs.cs +++ b/Assets/Scripts/Game/Events/NPCDialogue/ItemTradeEventArgs.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using ScriptableObjects; namespace Game.Events diff --git a/Assets/Scripts/Game/ExperimentControllers/ArenaController.cs b/Assets/Scripts/Game/ExperimentControllers/ArenaController.cs index cfdf983b..e6490799 100644 --- a/Assets/Scripts/Game/ExperimentControllers/ArenaController.cs +++ b/Assets/Scripts/Game/ExperimentControllers/ArenaController.cs @@ -4,9 +4,9 @@ using Game.LevelManager; using Game.LevelManager.DungeonLoader; using Game.LevelManager.DungeonManager; -using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Game.NarrativeGenerator.ItemRelatedNarrative; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.Quests; using Game.NPCs; using MyBox; using ScriptableObjects; diff --git a/Assets/Scripts/Game/GameManager/EnemyLoader.cs b/Assets/Scripts/Game/GameManager/EnemyLoader.cs index bcd1a9b3..ae1c1b44 100644 --- a/Assets/Scripts/Game/GameManager/EnemyLoader.cs +++ b/Assets/Scripts/Game/GameManager/EnemyLoader.cs @@ -1,7 +1,8 @@ using Game.EnemyManager; using Game.LevelManager.DungeonLoader; using Game.Maestro; -using Game.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.RulesGenerator.EnemyGeneration; using Game.NarrativeGenerator.Quests; using ScriptableObjects; using System; @@ -17,15 +18,12 @@ namespace Game.GameManager [Serializable] public class EnemyLoader : MonoBehaviour { - private static List _enemyListForCurrentDungeon; - [field: SerializeField] public GameObject EnemyPrefab { get; set; } [field: SerializeField] public GameObject BareHandEnemyPrefab { get; set; } [field: SerializeField] public GameObject ShooterEnemyPrefab { get; set; } [field: SerializeField] public GameObject BomberEnemyPrefab { get; set; } [field: SerializeField] public GameObject HealerEnemyPrefab { get; set; } - public static void DistributeEnemiesInDungeon(Map map, QuestLineList questLines) { var enemiesInQuestByType = new EnemiesByType(questLines.EnemyParametersForQuestLines.TotalByType); @@ -59,20 +57,13 @@ private static EnemiesByType SelectWeaponTypesForRoom(DungeonRoom dungeonRoom, E public static void LoadEnemies(List enemyList) { - _enemyListForCurrentDungeon = EnemySelector.FilterEnemies(enemyList); + EnemiesForCurrentDungeon.UpdateEnemiesForCurrentDungeon(enemyList); ApplyDelegates(); } - - public static EnemySO GetRandomEnemyOfType(WeaponTypeSo enemyType) - { - List currentEnemies = GetEnemiesFromType(enemyType); - Debug.Log("ENEMY COUNT: " + currentEnemies.Count); - return currentEnemies[RandomSingleton.GetInstance().Next(0, currentEnemies.Count)]; - } - + public GameObject InstantiateEnemyWithType(Vector3 position, Quaternion rotation, WeaponTypeSo enemyType, int questId) { - EnemySO currentEnemy = GetRandomEnemyOfType(enemyType); + EnemySO currentEnemy = EnemiesForCurrentDungeon.GetRandomEnemyOfType(enemyType); GameObject enemy; if (currentEnemy.weapon.Type == WeaponTypeEnum.BareHand) { @@ -125,18 +116,11 @@ public virtual GameObject InstantiateEnemyFromScriptableObject(Vector3 position, return enemy; } - private static List GetEnemiesFromType(WeaponTypeSo weaponType) - { - Debug.Log(weaponType.ToString()); - //TODO create these lists only once per type on dungeon load - return _enemyListForCurrentDungeon.Where(enemy => enemy.weapon == weaponType).ToList(); - } - private static void ApplyDelegates() { - if (_enemyListForCurrentDungeon != null) + if (EnemiesForCurrentDungeon.CurrentEnemies != null) { - foreach (var movement in _enemyListForCurrentDungeon.Select(x => x.movement)) + foreach (var movement in EnemiesForCurrentDungeon.CurrentEnemies.Select(x => x.movement)) { movement.movementType = GetMovementType(movement.enemyMovementIndex); } diff --git a/Assets/Scripts/Game/GameManager/Player/InventoryController.cs b/Assets/Scripts/Game/GameManager/Player/InventoryController.cs index c4f5fdc6..d0e7df3e 100644 --- a/Assets/Scripts/Game/GameManager/Player/InventoryController.cs +++ b/Assets/Scripts/Game/GameManager/Player/InventoryController.cs @@ -1,6 +1,6 @@ using Game.Events; using Game.LevelManager.DungeonManager; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using Game.NPCs; using ScriptableObjects; using UnityEngine; diff --git a/Assets/Scripts/Game/LevelGenerator/LevelSOs.meta b/Assets/Scripts/Game/LevelGenerator/LevelSOs.meta index d8f6ef38..cbd6ea02 100644 --- a/Assets/Scripts/Game/LevelGenerator/LevelSOs.meta +++ b/Assets/Scripts/Game/LevelGenerator/LevelSOs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4d56aed0eb028114d90da504d2d1770a +guid: 9665fc5f6ad50a841b7a711f86b6fa7c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Game/LevelManager/DungeonLoader/DungeonRoom.cs b/Assets/Scripts/Game/LevelManager/DungeonLoader/DungeonRoom.cs index 4aab94bd..14f918a9 100644 --- a/Assets/Scripts/Game/LevelManager/DungeonLoader/DungeonRoom.cs +++ b/Assets/Scripts/Game/LevelManager/DungeonLoader/DungeonRoom.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using Game.NPCs; using UnityEngine; using Util; diff --git a/Assets/Scripts/Game/LevelManager/DungeonLoader/ItemDispenser.cs b/Assets/Scripts/Game/LevelManager/DungeonLoader/ItemDispenser.cs index b6f0b5f6..2f460c07 100644 --- a/Assets/Scripts/Game/LevelManager/DungeonLoader/ItemDispenser.cs +++ b/Assets/Scripts/Game/LevelManager/DungeonLoader/ItemDispenser.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using Unity.Mathematics; using Util; diff --git a/Assets/Scripts/Game/LevelManager/DungeonLoader/Map.cs b/Assets/Scripts/Game/LevelManager/DungeonLoader/Map.cs index c37897c8..823951b3 100644 --- a/Assets/Scripts/Game/LevelManager/DungeonLoader/Map.cs +++ b/Assets/Scripts/Game/LevelManager/DungeonLoader/Map.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using Game.ExperimentControllers; using Game.LevelGenerator.LevelSOs; -using Game.NarrativeGenerator.ItemRelatedNarrative; -using Game.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using ScriptableObjects; using UnityEngine; using Util; diff --git a/Assets/Scripts/Game/LevelManager/DungeonManager/RoomBhv.cs b/Assets/Scripts/Game/LevelManager/DungeonManager/RoomBhv.cs index 51d88e72..8b0df27e 100644 --- a/Assets/Scripts/Game/LevelManager/DungeonManager/RoomBhv.cs +++ b/Assets/Scripts/Game/LevelManager/DungeonManager/RoomBhv.cs @@ -5,7 +5,7 @@ using Game.Events; using Game.GameManager; using Game.LevelManager.DungeonLoader; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using Game.NPCs; using ScriptableObjects; using UnityEngine; @@ -13,6 +13,7 @@ using Game.Quests; using UnityEngine.Tilemaps; using PlatformGame.Player; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; namespace Game.LevelManager.DungeonManager { diff --git a/Assets/Scripts/Game/Maestro/EnemySelector.cs b/Assets/Scripts/Game/Maestro/EnemySelector.cs index 12b415d2..de927ae7 100644 --- a/Assets/Scripts/Game/Maestro/EnemySelector.cs +++ b/Assets/Scripts/Game/Maestro/EnemySelector.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using Game.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using Game.LevelManager.DungeonLoader; using Game.GameManager; using ScriptableObjects; diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs index bb3f3b13..7bd74ba3 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/QuestEnemiesParameters.cs @@ -1,15 +1,14 @@ using System; -using System.Collections.Generic; using System.Linq; +using System.Collections.Generic; using System.Text; using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; using Overlord.RulesGenerator.EnemyGeneration; using UnityEngine; using Overlord.NarrativeGenerator.Quests; using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; -namespace Game.NarrativeGenerator.EnemyRelatedNarrative +namespace Overlord.NarrativeGenerator.EnemyRelatedNarrative { [Serializable] public class QuestEnemiesParameters @@ -52,14 +51,21 @@ public void CalculateDifficultyFromProfile(float masteryPreference) }; } + /* public void CalculateMonsterFromQuests(IEnumerable questLines) { foreach (var quest in questLines.SelectMany(questLine => questLine.Quests)) { AddEnemiesWhenEnemyQuest(quest); } + } + */ + + public void CalculateMonsterFromQuests(QuestSo quest) + { + AddEnemiesWhenEnemyQuest(quest); } - + private void AddEnemiesWhenEnemyQuest(QuestSo quest) { if (quest is KillQuestSo killQuestSo) diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/ItemQuestSo.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/ItemQuestSo.cs index 080911a4..fb6af743 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/ItemQuestSo.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/ItemQuestSo.cs @@ -2,7 +2,7 @@ using ScriptableObjects; using System; using System.Linq; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using UnityEngine; using Util; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs index c5a0f75a..1628c324 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLine.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using Game.ExperimentControllers; -using Game.LevelGenerator.LevelSOs; +//using Game.LevelGenerator.LevelSOs; using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; using Game.NPCs; using Game.Quests; @@ -13,6 +13,7 @@ using Util; using static Util.Enums; using Overlord.NarrativeGenerator.Quests; +using Game.LevelGenerator.LevelSOs; namespace Game.NarrativeGenerator.Quests { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLineList.cs b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLineList.cs index efcb3c0b..c9306dbb 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLineList.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestLineList.cs @@ -2,12 +2,14 @@ using System.Collections.Generic; using Game.LevelGenerator.LevelSOs; using Overlord.ProfileAnalyst; -using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using Game.NPCs; using ScriptableObjects; using UnityEngine; using Util; +using System.Linq; + #if UNITY_EDITOR using UnityEditor; #endif @@ -109,27 +111,32 @@ public void CreateAssetsForEnemies(string directory) } } - public void CalculateDifficultyFromProfile(float masteryPreference) { EnemyParametersForQuestLines.CalculateDifficultyFromProfile(masteryPreference/100f); } - public void CalculateMonsterFromQuests() + public void CalculateItemsFromQuests() { - EnemyParametersForQuestLines.CalculateMonsterFromQuests(QuestLines); + foreach (var quest in QuestLines.SelectMany(QuestLines => QuestLines.Quests)) + { + ItemParametersForQuestLines.CalculateItemsFromQuests(quest); + } } - public void CalculateItemsFromQuests() + public void CalculateMonsterFromQuests() { - ItemParametersForQuestLines.CalculateItemsFromQuests(QuestLines); + foreach (var quest in QuestLines.SelectMany(QuestLines => QuestLines.Quests)) + { + EnemyParametersForQuestLines.CalculateMonsterFromQuests(quest); + } } public void CalculateDungeonParametersFromQuests(float explorationPreference, float achievementPreference) { DungeonParametersForQuestLines.CalculateDungeonParametersFromQuests(QuestLines , explorationPreference/100f, achievementPreference/100f); - } + } public void SetRandomMainQuest(List rewardedKeys) { diff --git a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs index 070c4c47..24caa1ae 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs +++ b/Assets/Scripts/Game/NarrativeGenerator/TopdownQuestGeneratorManager.cs @@ -9,8 +9,8 @@ using Game.Maestro; using Game.GameManager; using Game.NarrativeGenerator; -using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using Game.NarrativeGenerator.Quests; using MyBox; using ScriptableObjects; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative.meta similarity index 77% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative.meta index 67023f80..7325aeba 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests.meta +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8b049af5656fee34daa4cc1ea6a7847a +guid: 860fbfe4ec27e7a46822de94dcb72b6c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Game/EnemyManager/EnemyByAmountDictionary.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/EnemyByAmountDictionary.cs similarity index 67% rename from Assets/Scripts/Game/EnemyManager/EnemyByAmountDictionary.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/EnemyByAmountDictionary.cs index 79e12956..76a7910d 100644 --- a/Assets/Scripts/Game/EnemyManager/EnemyByAmountDictionary.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/EnemyByAmountDictionary.cs @@ -1,9 +1,9 @@ -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using ScriptableObjects; using ScriptableObjects.SerializableDictionaryLite; using System; -namespace Game.EnemyManager +namespace Overlord.NarrativeGenerator.EnemyRelatedNarrative { [Serializable] public class EnemyByAmountDictionary : SerializableDictionaryBase diff --git a/Assets/Scripts/Game/EnemyManager/EnemyByAmountDictionary.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/EnemyByAmountDictionary.cs.meta similarity index 100% rename from Assets/Scripts/Game/EnemyManager/EnemyByAmountDictionary.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/EnemyByAmountDictionary.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs similarity index 89% rename from Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs index 1199af5d..7f593d62 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs @@ -1,7 +1,7 @@ using System; using ScriptableObjects; -namespace Game.NarrativeGenerator.EnemyRelatedNarrative +namespace Overlord.NarrativeGenerator.EnemyRelatedNarrative { [Serializable] public class WeaponTypeAmountDictionary : KeyByQuestIdsDictionary diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/EnemyRelatedNarrative/WeaponTypeAmountDictionary.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/EnemiesByType.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/EnemiesByType.cs similarity index 92% rename from Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/EnemiesByType.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/EnemiesByType.cs index 2417a092..0e918036 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/EnemiesByType.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/EnemiesByType.cs @@ -1,14 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; -using Game.EnemyManager; -using Game.GameManager; -using Game.NarrativeGenerator.Quests; +//using Game.GameManager; +using Overlord.NarrativeGenerator.Quests; using MyBox; using ScriptableObjects; using UnityEngine; +using Overlord.RulesGenerator.EnemyGeneration; -namespace Game.NarrativeGenerator.EnemyRelatedNarrative +namespace Overlord.NarrativeGenerator.EnemyRelatedNarrative { [Serializable] public class EnemiesByType @@ -65,7 +65,7 @@ public void RemoveCurrentTypeIfEmpty(WeaponTypeSo selectedType) EnemiesByTypeDictionary.Remove(selectedType); } } - + public EnemyByAmountDictionary GetEnemiesForRoom() { var enemiesBySo = new EnemyByAmountDictionary(); @@ -73,7 +73,7 @@ public EnemyByAmountDictionary GetEnemiesForRoom() { foreach (var questId in enemyType.Value.QuestIds) { - var selectedEnemy = EnemyLoader.GetRandomEnemyOfType(enemyType.Key); + var selectedEnemy = EnemiesForCurrentDungeon.GetRandomEnemyOfType(enemyType.Key); if (!enemiesBySo.ContainsKey(selectedEnemy)) { var questIdList = new QuestIdList(); @@ -83,7 +83,7 @@ public EnemyByAmountDictionary GetEnemiesForRoom() } } return enemiesBySo; - } + } public bool TryAddHealer(ref EnemiesByType enemies) { @@ -114,5 +114,6 @@ public void RemoveEnemyWithId(WeaponTypeSo weaponTypeSo, int questId) { EnemiesByTypeDictionary[weaponTypeSo].QuestIds.Remove(questId); } + } } \ No newline at end of file diff --git a/Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/EnemiesByType.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/EnemiesByType.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/EnemyRelatedNarrative/EnemiesByType.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/EnemiesByType.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemAmountDictionary.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemAmountDictionary.cs similarity index 90% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemAmountDictionary.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemAmountDictionary.cs index 2fad3e9a..56f16519 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemAmountDictionary.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemAmountDictionary.cs @@ -1,7 +1,7 @@ using System; using ScriptableObjects; -namespace Game.NarrativeGenerator.ItemRelatedNarrative +namespace Overlord.NarrativeGenerator.ItemRelatedNarrative { [Serializable] // SerializableDictionaryBase -> -> > diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemAmountDictionary.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemAmountDictionary.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemAmountDictionary.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemAmountDictionary.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemsAmount.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemsAmount.cs similarity index 95% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemsAmount.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemsAmount.cs index def5f2b8..0fd0261f 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemsAmount.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemsAmount.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using MyBox; using ScriptableObjects; using UnityEngine; -namespace Game.NarrativeGenerator.ItemRelatedNarrative +namespace Overlord.NarrativeGenerator.ItemRelatedNarrative { [Serializable] public class ItemsAmount : ICloneable diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemsAmount.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemsAmount.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/ItemsAmount.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/ItemsAmount.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/QuestItemsParameters.cs similarity index 90% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/QuestItemsParameters.cs index ba3745c6..38f6c77c 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/QuestItemsParameters.cs @@ -1,13 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Game.NarrativeGenerator.Quests; -using Game.NarrativeGenerator.Quests.QuestGrammarTerminals; +//using Game.NarrativeGenerator.Quests; using UnityEngine; using Overlord.NarrativeGenerator.Quests; using Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals; -namespace Game.NarrativeGenerator.ItemRelatedNarrative +namespace Overlord.NarrativeGenerator.ItemRelatedNarrative { [Serializable] public class QuestItemsParameters @@ -25,6 +24,7 @@ public QuestItemsParameters() TotalItemValue = 0; } + /* public void CalculateItemsFromQuests(IEnumerable questLines) { foreach (var quest in questLines.SelectMany(questLine => questLine.Quests)) @@ -33,6 +33,13 @@ public void CalculateItemsFromQuests(IEnumerable questLines) AddItemWhenImmersionQuest(quest); } } + */ + + public void CalculateItemsFromQuests(QuestSo quest) + { + AddItemWhenAchievementQuest(quest); + AddItemWhenImmersionQuest(quest); + } private void AddItemWhenAchievementQuest(QuestSo quest) { diff --git a/Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/QuestItemsParameters.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/ItemRelatedNarrative/QuestItemsParameters.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/ItemRelatedNarrative/QuestItemsParameters.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/KeyByQuestIdsDictionary.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/KeyByQuestIdsDictionary.cs similarity index 89% rename from Assets/Scripts/Game/NarrativeGenerator/KeyByQuestIdsDictionary.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/KeyByQuestIdsDictionary.cs index 0a516e8e..9f2221bb 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/KeyByQuestIdsDictionary.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/KeyByQuestIdsDictionary.cs @@ -1,10 +1,8 @@ using System; -using System.Collections; -using System.Collections.Generic; -using Game.NarrativeGenerator.Quests; +using Overlord.NarrativeGenerator.Quests; using ScriptableObjects.SerializableDictionaryLite; -namespace Game.NarrativeGenerator +namespace Overlord.NarrativeGenerator { [Serializable] public class KeyByQuestIdsDictionary : SerializableDictionaryBase diff --git a/Assets/Scripts/Game/NarrativeGenerator/KeyByQuestIdsDictionary.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/KeyByQuestIdsDictionary.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/KeyByQuestIdsDictionary.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/KeyByQuestIdsDictionary.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/ISymbol.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/ISymbol.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/ISymbol.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/ISymbol.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/ISymbol.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/MarkovChain.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/MarkovChain.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/MarkovChain.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/MarkovChain.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/MarkovChain.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/StartSymbol.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/StartSymbol.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/StartSymbol.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/MarkovChains/StartSymbol.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/MarkovChains/StartSymbol.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestIdList.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestIdList.cs similarity index 92% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestIdList.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestIdList.cs index 148ddb69..c6514537 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestIdList.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestIdList.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using UnityEngine; -namespace Game.NarrativeGenerator.Quests +namespace Overlord.NarrativeGenerator.Quests { [Serializable] public class QuestIdList diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestIdList.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestIdList.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestIdList.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestIdList.cs.meta diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs new file mode 100644 index 00000000..d1253e6b --- /dev/null +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace Overlord.NarrativeGenerator.Quests +{ + public static class QuestSelector + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs.meta new file mode 100644 index 00000000..6069e003 --- /dev/null +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestSelector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca240e93c8565ad4bb01fe84c9973d0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/AchievementQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/AchievementQuestSo.cs index 9d50a633..a4156014 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/AchievementQuestSo.cs @@ -8,8 +8,8 @@ using UnityEngine; using Game.NPCs; using MyBox; -using Game.NarrativeGenerator.ItemRelatedNarrative; -using Game.GameManager; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; +//using Game.GameManager; using static Util.Enums; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/AchievementQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/AchievementQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/AchievementQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestData.cs similarity index 93% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestData.cs index 77aebedf..e5386c19 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestData.cs @@ -1,4 +1,4 @@ -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using ScriptableObjects; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestData.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestData.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestData.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestSo.cs index ade068e3..32bb72db 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestSo.cs @@ -2,11 +2,11 @@ using Util; using System; using System.Text; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using System.Collections.Generic; using UnityEngine; using Game.NPCs; -using Game.GameManager; +//using Game.GameManager; using System.Linq; using static Util.Enums; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/ExchangeQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/ExchangeQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/GatherQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/GatherQuestSo.cs index 77cf5af1..9d95bb72 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/GatherQuestSo.cs @@ -2,9 +2,8 @@ using Util; using System; using System.Text; -using Game.NarrativeGenerator.ItemRelatedNarrative; +using Overlord.NarrativeGenerator.ItemRelatedNarrative; using UnityEngine; -using Game.GameManager; using static Util.Enums; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/GatherQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Achievement/GatherQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Achievement/GatherQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/CreativityQuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/CreativityQuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/CreativityQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/CreativityQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/CreativityQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/ExploreQuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/ExploreQuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/ExploreQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/ExploreQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/ExploreQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/GotoQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/GotoQuestSo.cs index 2bdbdc5e..fa752855 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/GotoQuestSo.cs @@ -3,7 +3,6 @@ using System; using System.Linq; using Game.LevelGenerator.LevelSOs; -using Game.LevelManager.DungeonLoader; using MyBox; using static Util.Enums; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/GotoQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Creativity/GotoQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Creativity/GotoQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/EmptyQuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/EmptyQuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/EmptyQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestGrammarTerminals/EmptyQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/EmptyQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestData.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestData.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestData.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestData.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestData.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/GiveQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/GiveQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ImmersionQuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ImmersionQuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ImmersionQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ImmersionQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ImmersionQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ListenQuestSo.cs similarity index 99% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ListenQuestSo.cs index fe1c567e..737ff789 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ListenQuestSo.cs @@ -1,4 +1,3 @@ -using Game.GameManager; using Game.NPCs; using System; using System.Collections.Generic; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ListenQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ListenQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ListenQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReadQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReadQuestSo.cs index 5dab30aa..4d69658b 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReadQuestSo.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using Util; using System; -using Game.GameManager; using static Util.Enums; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReadQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReadQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReadQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReportQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReportQuestSo.cs index fa20c94f..1788983b 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReportQuestSo.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using Game.NPCs; -using Game.GameManager; using static Util.Enums; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReportQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Immersion/ReportQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Immersion/ReportQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestData.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestData.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestData.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestData.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestData.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestSo.cs similarity index 99% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestSo.cs index 4ce153d6..cfc4a644 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestSo.cs @@ -3,7 +3,6 @@ using ScriptableObjects; using Util; using UnityEngine; -using Game.GameManager; namespace Overlord.NarrativeGenerator.Quests.QuestGrammarTerminals { diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/DamageQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/DamageQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/KillQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/KillQuestSo.cs index 39b9be6c..a2da1222 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/KillQuestSo.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; -using Game.NarrativeGenerator.EnemyRelatedNarrative; -using Game.GameManager; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using ScriptableObjects; using System; using System.Text; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/KillQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/KillQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/KillQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/MasteryQuestSo.cs similarity index 98% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/MasteryQuestSo.cs index 57db58ed..1d6e8c48 100644 --- a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs +++ b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/MasteryQuestSo.cs @@ -4,11 +4,10 @@ using System.Collections.Generic; using UnityEngine; using Game.NPCs; -using Game.GameManager; using System.Linq; using System.Text; using Game.ExperimentControllers; -using Game.NarrativeGenerator.EnemyRelatedNarrative; +using Overlord.NarrativeGenerator.EnemyRelatedNarrative; using MyBox; using static Util.Enums; diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/MasteryQuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/ProfileQuests/Mastery/MasteryQuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/Mastery/MasteryQuestSo.cs.meta diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/QuestSo.cs similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/QuestSo.cs diff --git a/Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs.meta b/Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/QuestSo.cs.meta similarity index 100% rename from Assets/Scripts/Game/NarrativeGenerator/Quests/QuestSo.cs.meta rename to Assets/Scripts/Overlord/NarrativeGenerator/QuestGenerationAlgorithm/QuestsPerProfile/QuestSo.cs.meta diff --git a/Assets/Scripts/OverlordData/NarrativeGenerator.meta b/Assets/Scripts/OverlordData/NarrativeGenerator.meta new file mode 100644 index 00000000..85e265f4 --- /dev/null +++ b/Assets/Scripts/OverlordData/NarrativeGenerator.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1572da77e2cd6c541ac9b921a69c616c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OverlordData/OverlordData.asmdef b/Assets/Scripts/OverlordData/OverlordData.asmdef index c075ec0e..1d3ed269 100644 --- a/Assets/Scripts/OverlordData/OverlordData.asmdef +++ b/Assets/Scripts/OverlordData/OverlordData.asmdef @@ -3,7 +3,8 @@ "rootNamespace": "", "references": [ "GUID:48c9f6afdac61634db0e0f241c7d4d51", - "GUID:e889290e6f4967a4ba72b88171c97a6d" + "GUID:e889290e6f4967a4ba72b88171c97a6d", + "GUID:a37419e4b8e996d4da23a301a44013e3" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs b/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs new file mode 100644 index 00000000..70812a3a --- /dev/null +++ b/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs @@ -0,0 +1,34 @@ +using ScriptableObjects; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using Util; + +namespace Overlord.RulesGenerator.EnemyGeneration +{ + public static class EnemiesForCurrentDungeon + { + private static List _enemyListForCurrentDungeon; + public static List CurrentEnemies => _enemyListForCurrentDungeon; + + public static void UpdateEnemiesForCurrentDungeon(List enemyList) + { + _enemyListForCurrentDungeon = enemyList; + } + + public static EnemySO GetRandomEnemyOfType(WeaponTypeSo enemyType) + { + List currentEnemies = GetEnemiesFromType(enemyType); + Debug.Log("ENEMY COUNT: " + currentEnemies.Count); + return currentEnemies[RandomSingleton.GetInstance().Next(0, currentEnemies.Count)]; + } + + private static List GetEnemiesFromType(WeaponTypeSo weaponType) + { + Debug.Log(weaponType.ToString()); + //TODO create these lists only once per type on dungeon load + return CurrentEnemies.Where(enemy => enemy.weapon == weaponType).ToList(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs.meta b/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs.meta new file mode 100644 index 00000000..0b78106f --- /dev/null +++ b/Assets/Scripts/OverlordData/RulesGenerator/EnemiesForCurrentDungeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 670e8cf6407218045975ae114b2f3cb5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs b/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs new file mode 100644 index 00000000..438ac258 --- /dev/null +++ b/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs @@ -0,0 +1,14 @@ +using ScriptableObjects; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace Overlord.RulesGenerator.EnemyGeneration +{ + public class EnemyRoomList : MonoBehaviour + { + private static List _enemyListForCurrentDungeon; + + + } +} \ No newline at end of file diff --git a/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs.meta b/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs.meta new file mode 100644 index 00000000..07b6d313 --- /dev/null +++ b/Assets/Scripts/OverlordData/RulesGenerator/EnemyRoomList.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c925171a7f71a284eae0238c6449e5e7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ScriptableObjects/LevelSOs.meta b/Assets/Scripts/ScriptableObjects/LevelSOs.meta new file mode 100644 index 00000000..d8f6ef38 --- /dev/null +++ b/Assets/Scripts/ScriptableObjects/LevelSOs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d56aed0eb028114d90da504d2d1770a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/LevelGenerator/LevelSOs/DungeonRoomData.cs b/Assets/Scripts/ScriptableObjects/LevelSOs/DungeonRoomData.cs similarity index 100% rename from Assets/Scripts/Game/LevelGenerator/LevelSOs/DungeonRoomData.cs rename to Assets/Scripts/ScriptableObjects/LevelSOs/DungeonRoomData.cs diff --git a/Assets/Scripts/Game/LevelGenerator/LevelSOs/DungeonRoomData.cs.meta b/Assets/Scripts/ScriptableObjects/LevelSOs/DungeonRoomData.cs.meta similarity index 100% rename from Assets/Scripts/Game/LevelGenerator/LevelSOs/DungeonRoomData.cs.meta rename to Assets/Scripts/ScriptableObjects/LevelSOs/DungeonRoomData.cs.meta From 683b7c673e1803aded2461aedbe256f118faa5f9 Mon Sep 17 00:00:00 2001 From: Yuji Teoi Date: Sun, 30 Nov 2025 23:07:27 -0300 Subject: [PATCH 10/10] Fix dialogue language changing --- Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs index 1eda4889..ee7e9fc0 100644 --- a/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs +++ b/Assets/Scripts/Game/NPCs/DialogueGenerator/QuestDialogue.cs @@ -11,7 +11,7 @@ public class QuestDialogue : MonoBehaviour { protected Language _language; - private void Awake() + protected void SetQuestLanguage() { var questGeneratorManager = FindObjectOfType(); if (questGeneratorManager == null) @@ -33,6 +33,7 @@ protected virtual string [] highSocialDialogues { public string CreateQuestDialogue(QuestSo closedQuest, NpcSo speaker) { + SetQuestLanguage(); switch (speaker.SocialFactor) { case < 3: