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) {