feat: Round 49 narrative systems improvements
QuestManager: extract CheckQuestDepsAndFlags shared method, simplify GetQuestLockInfo/CanAccept/MeetsPrerequisites; add GetQuestsInState+FilterQuests implementations; fix extra brace compile bug; add _pauseTimestamps logging; use actualDelta in ApplyAffinity event. QuestSO: add depth>32 guard to HasPrerequisiteCycle and HasBranchCycle to prevent editor freeze on deep chains. EventChainModule: replace FindObjectOfType with ServiceLocator.GetOrDefault in ForceExecute; add self-trigger flag detection (check 6) in ValidateAllChains using reflection. DialogueVariantPreviewWindow: add matrix analysis section enumerating all 2^N flag combinations (N<=10) with table showing winning variant per combination. WorldStateRegistry: LoadFromSave null guard on data.World sub-collections (P0 fix). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -124,10 +124,11 @@ namespace BaseGames.World
|
||||
|
||||
if (data == null) return;
|
||||
|
||||
foreach (var id in data.World.CollectedIds) Mark(WorldObjectCategory.Collectible, id);
|
||||
foreach (var id in data.World.ActivatedSavePoints) Mark(WorldObjectCategory.SavePoint, id);
|
||||
foreach (var id in data.World.OpenedDoors) Mark(WorldObjectCategory.Door, id);
|
||||
foreach (var id in data.World.DestroyedObjectIds) Mark(WorldObjectCategory.Destroyed, id);
|
||||
var world = data.World;
|
||||
if (world?.CollectedIds != null) foreach (var id in world.CollectedIds) Mark(WorldObjectCategory.Collectible, id);
|
||||
if (world?.ActivatedSavePoints != null) foreach (var id in world.ActivatedSavePoints) Mark(WorldObjectCategory.SavePoint, id);
|
||||
if (world?.OpenedDoors != null) foreach (var id in world.OpenedDoors) Mark(WorldObjectCategory.Door, id);
|
||||
if (world?.DestroyedObjectIds != null) foreach (var id in world.DestroyedObjectIds) Mark(WorldObjectCategory.Destroyed, id);
|
||||
|
||||
if (data.EventChains?.WorldFlags != null)
|
||||
foreach (var kv in data.EventChains.WorldFlags)
|
||||
|
||||
Reference in New Issue
Block a user