tentative de correction de bug, a finir.

This commit is contained in:
mrtoine 2025-10-10 17:57:49 +02:00
parent b1051f30b2
commit 9f2e4c1063
10 changed files with 26 additions and 15242 deletions

File diff suppressed because it is too large Load diff

View file

@ -60,12 +60,7 @@ namespace Cheat.Runtime
void Start()
{
Warning("‼️☣️ CHEATCODE ENABLED");
Info($"<color=green>Liste des commandes disponibles</color>");
foreach (var c in _commands)
{
Info($"<color=yellow>{c}</color>");
}
//
}
void Update()

View file

@ -129,12 +129,10 @@ namespace Core.Runtime
// Chargement ou création des paramètres
if (m_gameFacts.SaveFileExists("GeneralSettings"))
{
Debug.Log("<color=green>GeneralSettings exist</color>");
LoadFacts("GeneralSettings");
}
else
{
Debug.Log("<color=orange>GeneralSettings does not exist</color>");
GeneralSettings settings = new GeneralSettings
{
Language = EnumLanguage.English,

View file

@ -31,7 +31,6 @@ namespace Decor.Runtime
{
// Trigger an initial refresh
QuestManager.Instance.NotifyAvailableQuestsUpdated(_player.GuildLevel);
Info($"<color=yellow>Il y a actuellement {_quests} quêtes affichés sur le Panneau</color>");
UpdateParchmentState();
}
@ -85,8 +84,6 @@ namespace Decor.Runtime
)
);
_parchment.SetActive(hasTrulyAvailableQuests);
Info($"<color=green>Il y a actuellement {hasTrulyAvailableQuests} disponibles</color>");
}
#endregion

View file

@ -47,7 +47,7 @@ namespace MenuSystem.Runtime
SetFact<PlayerClass>(saveName, newPlayerClass, FactPersistence.Persistent);
SetFact<GameTime>("game_time", new GameTime(), FactPersistence.Persistent);
SetFact<List<AdventurerClass>>("my_adventurers", new List<AdventurerClass>(), FactPersistence.Persistent);
SetFact<List<QuestClass>>("quests", new List<QuestClass>(), FactPersistence.Persistent);
SetFact<List<QuestClass>>("accepted_quests", new List<QuestClass>(), FactPersistence.Persistent);
SetFact<List<QuestClass>>("active_quests", new List<QuestClass>(), FactPersistence.Persistent);
SetFact<List<QuestClass>>("completed_quests", new List<QuestClass>(), FactPersistence.Persistent);
SetFact<Dictionary<Guid, List<QuestEventLog>>>("events_quests_history", new Dictionary<Guid, List<QuestEventLog>>(), FactPersistence.Persistent);

View file

@ -219,7 +219,7 @@ namespace Quests.Runtime
{
_activeQuests.Add(quest);
}
List<QuestClass> saveQuests = GetFact<List<QuestClass>>("quests");
List<QuestClass> saveQuests = GetFact<List<QuestClass>>(("accepted_quests"));
foreach (var saveQuest in saveQuests)
{
if (saveQuest.Name == quest.Name)
@ -254,7 +254,7 @@ namespace Quests.Runtime
_activeQuests.RemoveAll(q => q.Name == quest.Name);
_completedQuests.Add(quest);
List<QuestClass> quests = GetFact<List<QuestClass>>("quests");
List<QuestClass> quests = GetFact<List<QuestClass>>(("accepted_quests"));
QuestClass questToUpdate = quests.FirstOrDefault(q => q.ID == quest.ID);
if (questToUpdate != null)
{

View file

@ -2,9 +2,9 @@ namespace Quests.Runtime
{
public enum QuestStateEnum
{
Disponible,
Accepted,
InProgress,
Completed,
Disponible = 0,
Accepted = 1,
InProgress = 2,
Completed = 3,
}
}

View file

@ -92,8 +92,9 @@ namespace GameUI.Runtime
_activationButtonText.color = hasAdventurers ? Color.yellow : Color.grey;
}
private void ConfigureUIForQuestState(QuestStateEnum state)
void ConfigureUIForQuestState(QuestStateEnum state)
{
Info($"<color=orange>Etat de la quête : {state}</color>");
switch (state)
{
case QuestStateEnum.Disponible:
@ -110,13 +111,6 @@ namespace GameUI.Runtime
_adventurersSelection.SetActive(true);
_panelRecap.SetActive(false);
break;
case QuestStateEnum.Completed:
_buttonActivation.SetActive(false);
_adventurersOnThisQuestPanel.SetActive(false);
_adventurersSelection.SetActive(false);
_panelRecap.SetActive(true);
_panelRecap.GetComponent<QuestLogsListUI>().ShowFor(QuestManager.Instance.CurrentQuest.ID);
break;
case QuestStateEnum.InProgress:
Info("La quête est active.");
_buttonActivation.SetActive(false);
@ -124,6 +118,13 @@ namespace GameUI.Runtime
_adventurersSelection.SetActive(false);
_panelRecap.SetActive(false);
break;
case QuestStateEnum.Completed:
_buttonActivation.SetActive(false);
_adventurersOnThisQuestPanel.SetActive(false);
_adventurersSelection.SetActive(false);
_panelRecap.SetActive(true);
_panelRecap.GetComponent<QuestLogsListUI>().ShowFor(QuestManager.Instance.CurrentQuest.ID);
break;
default:
_buttonActivation.SetActive(false);
_adventurersOnThisQuestPanel.SetActive(true);
@ -139,6 +140,7 @@ namespace GameUI.Runtime
quest = FindMatchingActiveQuest(quest);
QuestManager.Instance.CurrentQuest = quest;
Info($"<color=green><InfoQuestPanel.cs:143></color><color=orange>{quest.Name}</color>");
UpdateQuestInfoDisplay(quest);
ConfigureUIForQuestState(quest.State);
}
@ -162,7 +164,7 @@ namespace GameUI.Runtime
return matchingQuest ?? quest;
}
private void UpdateQuestInfoDisplay(QuestClass quest)
void UpdateQuestInfoDisplay(QuestClass quest)
{
m_title.text = LocalizationSystem.Instance.GetLocalizedText(quest?.Name);
string descKey = quest?.Description;

View file

@ -61,17 +61,17 @@ namespace GameUI.Runtime
_quest.State = QuestStateEnum.Accepted;
// Persist in saved quests list
List<QuestClass> savedQuests = GetFact<List<QuestClass>>("quests");
List<QuestClass> savedQuests = GetFact<List<QuestClass>>("accepted_quests");
savedQuests.Add(_quest);
// Also add to runtime active quests list so other systems can find it
if (FactExists<List<QuestClass>>("active_quests", out _))
if (FactExists<List<QuestClass>>("accepted_quests", out _))
{
var activeQuests = GetFact<List<QuestClass>>("active_quests");
var acceptedQuests = GetFact<List<QuestClass>>("accepted_quests");
// Avoid duplicates by GUID
if (!activeQuests.Any(q => q.ID == _quest.ID))
if (!acceptedQuests.Any(q => q.ID == _quest.ID))
{
activeQuests.Add(_quest);
acceptedQuests.Add(_quest);
}
}

View file

@ -44,9 +44,9 @@ namespace GameUI.Runtime
Destroy(child.gameObject);
}
if (FactExists<List<QuestClass>>("quests", out _))
if (FactExists<List<QuestClass>>(("accepted_quests"), out _))
{
List<QuestClass> questsFromSave = GetFact<List<QuestClass>>("quests");
List<QuestClass> questsFromSave = GetFact<List<QuestClass>>(("accepted_quests"));
List<QuestClass> quests = QuestManager.Instance.ResolveQuestsList(questsFromSave);
foreach (var quest in quests)