diff --git a/Packages/src/Runtime/UIParticleUpdater.cs b/Packages/src/Runtime/UIParticleUpdater.cs index 4df5153..2e353e9 100644 --- a/Packages/src/Runtime/UIParticleUpdater.cs +++ b/Packages/src/Runtime/UIParticleUpdater.cs @@ -40,13 +40,26 @@ namespace Coffee.UIExtensions #if UNITY_EDITOR [InitializeOnLoadMethod] + private static void InitializeOnLoad() + { + UIExtraCallbacks.onAfterCanvasRebuild += Refresh; + + EditorApplication.playModeStateChanged += state => + { + UIExtraCallbacks.onAfterCanvasRebuild -= Refresh; + if (state == PlayModeStateChange.EnteredEditMode || state == PlayModeStateChange.EnteredPlayMode) + { + UIExtraCallbacks.onAfterCanvasRebuild += Refresh; + } + }; + } #else [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] -#endif private static void InitializeOnLoad() { UIExtraCallbacks.onAfterCanvasRebuild += Refresh; } +#endif private static void Refresh() {