fix: Round 54 priority dequeue, onComplete callback, prerequisiteObjectiveId validation, localizationTable guard, FailQuest timestamp, remove empty ValidateBranchDialogueKeys
- DialogueManager.EndDialogue: dequeue by max-priority index instead of FIFO index-0 - DialogueManager.EndDialogue: fire _onCompleteCallback on normal end (was only in ForceEnd) - NpcSO.OnValidate: auto-restore localizationTable to 'UI' if cleared - QuestSO.ValidateObjectiveIds: validate prerequisiteObjectiveId references exist in same quest - QuestSO.OnValidate: remove call to empty ValidateBranchDialogueKeys stub + remove the stub itself - QuestManager.DispatchEvent toFail loop: write _completedAtUtc timestamp on quest failure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1014,6 +1014,7 @@ namespace BaseGames.Quest
|
||||
foreach (var qid in toFail)
|
||||
{
|
||||
_questStates[qid] = QuestStateEnum.Failed;
|
||||
_completedAtUtc[qid] = System.DateTimeOffset.UtcNow.ToUnixTimeSeconds();
|
||||
_notifiedReadyQuests.Remove(qid);
|
||||
OnQuestStateChanged?.Invoke(qid, QuestStateEnum.Active, QuestStateEnum.Failed);
|
||||
Chan_QuestFailed?.Raise(qid);
|
||||
|
||||
Reference in New Issue
Block a user