diff options
Diffstat (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Core/Misc/UnityCompatibility.cs')
-rw-r--r-- | Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Core/Misc/UnityCompatibility.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Core/Misc/UnityCompatibility.cs b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Core/Misc/UnityCompatibility.cs new file mode 100644 index 0000000..6fdd1e6 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Core/Misc/UnityCompatibility.cs @@ -0,0 +1,38 @@ +using UnityEngine; + +namespace Pathfinding.Util { + /// <summary>Compatibility class for Unity APIs that are not available in all Unity versions</summary> + public static class UnityCompatibility { + public static T[] FindObjectsByTypeSorted<T>() where T : Object { +#if UNITY_2021_3_OR_NEWER && !(UNITY_2022_1_OR_NEWER && !UNITY_2022_2_OR_NEWER) + return Object.FindObjectsByType<T>(FindObjectsSortMode.InstanceID); +#else + return Object.FindObjectsOfType<T>(); +#endif + } + + public static T[] FindObjectsByTypeUnsorted<T>() where T : Object { +#if UNITY_2021_3_OR_NEWER && !(UNITY_2022_1_OR_NEWER && !UNITY_2022_2_OR_NEWER) + return Object.FindObjectsByType<T>(FindObjectsSortMode.None); +#else + return Object.FindObjectsOfType<T>(); +#endif + } + + public static T[] FindObjectsByTypeUnsortedWithInactive<T>() where T : Object { +#if UNITY_2021_3_OR_NEWER && !(UNITY_2022_1_OR_NEWER && !UNITY_2022_2_OR_NEWER) + return Object.FindObjectsByType<T>(FindObjectsInactive.Include, FindObjectsSortMode.None); +#else + return Object.FindObjectsOfType<T>(true); +#endif + } + + public static T FindAnyObjectByType<T>() where T : Object { +#if UNITY_2021_3_OR_NEWER && !(UNITY_2022_1_OR_NEWER && !UNITY_2022_2_OR_NEWER) + return Object.FindAnyObjectByType<T>(); +#else + return Object.FindObjectOfType<T>(); +#endif + } + } +} |