From 84443288b54166f793d7bcc9567f5cfd00ff5289 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Fri, 10 Jul 2020 18:37:36 +0200 Subject: [PATCH] [unity] Fixed exception when new Unity 2019.3 `Enter Play Mode` has disabled domain reload. Closes #1621. --- .../Runtime/spine-unity/Utility/AtlasUtilities.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs index ce0a60ebd..5abd195f9 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs @@ -27,10 +27,16 @@ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#if UNITY_2019_3_OR_NEWER +#define CONFIGURABLE_ENTER_PLAY_MODE +#endif + + using UnityEngine; using System.Collections.Generic; using System; + namespace Spine.Unity.AttachmentTools { public static class AtlasUtilities { @@ -41,6 +47,14 @@ namespace Spine.Unity.AttachmentTools { const int NonrenderingRegion = -1; + #if CONFIGURABLE_ENTER_PLAY_MODE + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void Init () { + // handle disabled domain reload + AtlasUtilities.ClearCache(); + } + #endif + public static AtlasRegion ToAtlasRegion (this Texture2D t, Material materialPropertySource, float scale = DefaultScale) { return t.ToAtlasRegion(materialPropertySource.shader, scale, materialPropertySource); }