diff --git a/Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalContainer.cs b/Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalContainer.cs index 225a8050..ce895d66 100644 --- a/Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalContainer.cs +++ b/Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalContainer.cs @@ -8,13 +8,18 @@ using UnityScreenNavigator.Runtime.Foundation; using UnityScreenNavigator.Runtime.Foundation.AssetLoader; using UnityScreenNavigator.Runtime.Foundation.Coroutine; +#if UNITY_6000_4_OR_NEWER +using TransformId = UnityEngine.EntityId; +#else +using TransformId = System.Int32; +#endif namespace UnityScreenNavigator.Runtime.Core.Modal { [RequireComponent(typeof(RectMask2D))] public sealed class ModalContainer : MonoBehaviour, IScreenContainer { - private static readonly Dictionary InstanceCacheByTransform = new(); + private static readonly Dictionary InstanceCacheByTransform = new(); private static readonly Dictionary InstanceCacheByName = new(); @@ -101,7 +106,7 @@ private void OnDestroy() _orderedModalIds.Clear(); InstanceCacheByName.Remove(_name); - var keysToRemove = new List(); + var keysToRemove = new List(); foreach (var cache in InstanceCacheByTransform) if (Equals(cache.Value)) keysToRemove.Add(cache.Key); @@ -141,7 +146,11 @@ public static ModalContainer Of(Transform transform, bool useCache = true) /// public static ModalContainer Of(RectTransform rectTransform, bool useCache = true) { +#if UNITY_6000_4_OR_NEWER + var id = rectTransform.GetEntityId(); +#else var id = rectTransform.GetInstanceID(); +#endif if (useCache && InstanceCacheByTransform.TryGetValue(id, out var container)) return container; container = rectTransform.GetComponentInParent(); diff --git a/Assets/UnityScreenNavigator/Runtime/Core/Page/PageContainer.cs b/Assets/UnityScreenNavigator/Runtime/Core/Page/PageContainer.cs index 700d86a2..5a595785 100644 --- a/Assets/UnityScreenNavigator/Runtime/Core/Page/PageContainer.cs +++ b/Assets/UnityScreenNavigator/Runtime/Core/Page/PageContainer.cs @@ -8,13 +8,18 @@ using UnityScreenNavigator.Runtime.Foundation; using UnityScreenNavigator.Runtime.Foundation.AssetLoader; using UnityScreenNavigator.Runtime.Foundation.Coroutine; +#if UNITY_6000_4_OR_NEWER +using TransformId = UnityEngine.EntityId; +#else +using TransformId = System.Int32; +#endif namespace UnityScreenNavigator.Runtime.Core.Page { [RequireComponent(typeof(RectMask2D))] public sealed class PageContainer : MonoBehaviour, IScreenContainer { - private static readonly Dictionary InstanceCacheByTransform = new(); + private static readonly Dictionary InstanceCacheByTransform = new(); private static readonly Dictionary InstanceCacheByName = new(); @@ -90,7 +95,7 @@ private void OnDestroy() _orderedPageIds.Clear(); InstanceCacheByName.Remove(_name); - var keysToRemove = new List(); + var keysToRemove = new List(); foreach (var cache in InstanceCacheByTransform) if (Equals(cache.Value)) keysToRemove.Add(cache.Key); @@ -130,7 +135,11 @@ public static PageContainer Of(Transform transform, bool useCache = true) /// public static PageContainer Of(RectTransform rectTransform, bool useCache = true) { +#if UNITY_6000_4_OR_NEWER + var id = rectTransform.GetEntityId(); +#else var id = rectTransform.GetInstanceID(); +#endif if (useCache && InstanceCacheByTransform.TryGetValue(id, out var container)) return container; container = rectTransform.GetComponentInParent(); diff --git a/Assets/UnityScreenNavigator/Runtime/Core/Sheet/SheetContainer.cs b/Assets/UnityScreenNavigator/Runtime/Core/Sheet/SheetContainer.cs index e3f0ba55..78a549e5 100644 --- a/Assets/UnityScreenNavigator/Runtime/Core/Sheet/SheetContainer.cs +++ b/Assets/UnityScreenNavigator/Runtime/Core/Sheet/SheetContainer.cs @@ -8,14 +8,19 @@ using UnityScreenNavigator.Runtime.Foundation; using UnityScreenNavigator.Runtime.Foundation.AssetLoader; using UnityScreenNavigator.Runtime.Foundation.Coroutine; +#if UNITY_6000_4_OR_NEWER +using TransformId = UnityEngine.EntityId; +#else +using TransformId = System.Int32; +#endif namespace UnityScreenNavigator.Runtime.Core.Sheet { [RequireComponent(typeof(RectMask2D))] public sealed class SheetContainer : MonoBehaviour, IScreenContainer { - private static readonly Dictionary InstanceCacheByTransform = - new Dictionary(); + private static readonly Dictionary InstanceCacheByTransform = + new Dictionary(); private static readonly Dictionary InstanceCacheByName = new Dictionary(); @@ -94,7 +99,7 @@ private void OnDestroy() UnregisterAll(); InstanceCacheByName.Remove(_name); - var keysToRemove = new List(); + var keysToRemove = new List(); foreach (var cache in InstanceCacheByTransform) if (Equals(cache.Value)) keysToRemove.Add(cache.Key); @@ -123,7 +128,11 @@ public static SheetContainer Of(Transform transform, bool useCache = true) /// public static SheetContainer Of(RectTransform rectTransform, bool useCache = true) { +#if UNITY_6000_4_OR_NEWER + var hashCode = rectTransform.GetEntityId(); +#else var hashCode = rectTransform.GetInstanceID(); +#endif if (useCache && InstanceCacheByTransform.TryGetValue(hashCode, out var container)) return container; diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 37449f2b..cabecb73 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -5,7 +5,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "66de0d3a58b256b6e0194f285cc530fd0c08407b" + "hash": "ceac8d6946b1125fe782cd171fbcb245b567dbf9" }, "com.harumak.unityuiplayables": { "version": "https://github.com/Haruma-K/UnityUIPlayables.git?path=/Assets/UnityUIPlayables", @@ -115,9 +115,9 @@ "depth": 0, "source": "registry", "dependencies": { + "com.unity.modules.audio": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.animation": "1.0.0", - "com.unity.modules.audio": "1.0.0", "com.unity.modules.particlesystem": "1.0.0" }, "url": "https://packages.unity.com"