diff --git a/Packages/src/Runtime/Internal/ProjectSettings/PreloadedProjectSettings.cs b/Packages/src/Runtime/Internal/ProjectSettings/PreloadedProjectSettings.cs index d5ef507..2636779 100644 --- a/Packages/src/Runtime/Internal/ProjectSettings/PreloadedProjectSettings.cs +++ b/Packages/src/Runtime/Internal/ProjectSettings/PreloadedProjectSettings.cs @@ -59,21 +59,6 @@ namespace Coffee.UIParticleInternal s_BuildingPlayer = false; Initialize(); } - -#if UNITY_2019_3_OR_NEWER - [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] - private static void OnDomainReload() - { - foreach (var t in TypeCache.GetTypesDerivedFrom(typeof(PreloadedProjectSettings<>))) - { - var defaultSettings = GetDefaultSettings(t); - if (defaultSettings != null) - { - defaultSettings.OnDomainReload(); - } - } - } -#endif } private static void Initialize() @@ -166,10 +151,6 @@ namespace Coffee.UIParticleInternal protected virtual void OnInitialize() { } - - protected virtual void OnDomainReload() - { - } } internal abstract class PreloadedProjectSettingsEditor : Editor @@ -255,11 +236,6 @@ namespace Coffee.UIParticleInternal break; } } - - protected override void OnDomainReload() - { - s_Instance = null; - } #else public static T instance => s_Instance != null ? s_Instance : s_Instance = CreateInstance(); #endif diff --git a/Packages/src/Runtime/Internal/Utilities/FrameCache.cs b/Packages/src/Runtime/Internal/Utilities/FrameCache.cs index ada0824..efc2d3a 100644 --- a/Packages/src/Runtime/Internal/Utilities/FrameCache.cs +++ b/Packages/src/Runtime/Internal/Utilities/FrameCache.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using UnityEditor; using UnityEngine; namespace Coffee.UIParticleInternal @@ -9,6 +10,7 @@ namespace Coffee.UIParticleInternal private static readonly Dictionary s_Caches = new Dictionary(); #if UNITY_EDITOR && UNITY_2019_3_OR_NEWER + [InitializeOnLoadMethod] [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] #elif UNITY_EDITOR [InitializeOnLoadMethod] diff --git a/Packages/src/Runtime/Internal/Utilities/UIExtraCallbacks.cs b/Packages/src/Runtime/Internal/Utilities/UIExtraCallbacks.cs index 038b114..587f0ed 100755 --- a/Packages/src/Runtime/Internal/Utilities/UIExtraCallbacks.cs +++ b/Packages/src/Runtime/Internal/Utilities/UIExtraCallbacks.cs @@ -18,12 +18,6 @@ namespace Coffee.UIParticleInternal private static readonly FastAction s_OnScreenSizeChangedAction = new FastAction(); private static Vector2Int s_LastScreenSize; - static UIExtraCallbacks() - { - Canvas.willRenderCanvases += OnBeforeCanvasRebuild; - Logger.LogMulticast(typeof(Canvas), "willRenderCanvases", message: "ctor"); - } - /// /// Event that occurs after canvas rebuilds. /// @@ -72,7 +66,7 @@ namespace Coffee.UIParticleInternal CanvasUpdateRegistry.IsRebuildingLayout(); #if TMP_ENABLE // Explicitly set `Canvas.willRenderCanvases += TMP_UpdateManager.DoRebuilds`. - typeof(TMPro.TMP_UpdateManager) + var _ = typeof(TMPro.TMP_UpdateManager) .GetProperty("instance", BindingFlags.NonPublic | BindingFlags.Static) .GetValue(null); #endif @@ -83,6 +77,7 @@ namespace Coffee.UIParticleInternal } #if UNITY_EDITOR && UNITY_2019_3_OR_NEWER + [InitializeOnLoadMethod] [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] #elif UNITY_EDITOR [InitializeOnLoadMethod] @@ -91,9 +86,17 @@ namespace Coffee.UIParticleInternal #endif private static void InitializeOnLoad() { +#if UNITY_2019_4 || UNITY_2020_2_OR_NEWER + Canvas.preWillRenderCanvases -= OnBeforeCanvasRebuild; + Canvas.preWillRenderCanvases += OnBeforeCanvasRebuild; +#else + Canvas.willRenderCanvases -= OnBeforeCanvasRebuild; + Canvas.willRenderCanvases += OnBeforeCanvasRebuild; +#endif Canvas.willRenderCanvases -= OnAfterCanvasRebuild; s_IsInitializedAfterCanvasRebuild = false; s_LastScreenSize = default; + Logger.LogMulticast(typeof(Canvas), "willRenderCanvases", message: "ctor"); } ///