tentative de correction de bug, a finir.
This commit is contained in:
parent
b1051f30b2
commit
9f2e4c1063
10 changed files with 26 additions and 15242 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue