From 6fb7b97bd870cdd71239a8c965ab42264976011e Mon Sep 17 00:00:00 2001 From: PopSlime Date: Sun, 2 Oct 2022 16:02:38 +0800 Subject: [PATCH] Fix states not correctly validated in EventBus. --- Assets/Cryville/Crtr/Event/EventBus.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Assets/Cryville/Crtr/Event/EventBus.cs b/Assets/Cryville/Crtr/Event/EventBus.cs index ab7d895..e90b598 100644 --- a/Assets/Cryville/Crtr/Event/EventBus.cs +++ b/Assets/Cryville/Crtr/Event/EventBus.cs @@ -47,8 +47,6 @@ namespace Cryville.Crtr.Event { dest.workingStates.Clear(); dest.invalidatedStates.Clear(); RootState.CopyTo(ct, dest.RootState); - dest.ValidateStates(); - if (ct >= 2) { dest.activeContainers.Clear(); foreach (var c in activeContainers) { @@ -58,6 +56,7 @@ namespace Cryville.Crtr.Event { } } } + dest.ValidateStates(); } public void Dispose() { @@ -65,7 +64,7 @@ namespace Cryville.Crtr.Event { } public void NotifyWorkingChanged(ContainerState state) { - invalidatedStates.Add(state); + if (!invalidatedStates.Contains(state)) invalidatedStates.Add(state); } void Expand(ContainerState s = null) {