using System.Runtime.CompilerServices; using UnityEngine; namespace LeTai.Asset.TranslucentImage { public static class Shims { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static T FindObjectOfType(bool includeInactive = false, bool sorted = true) where T : Object { #if UNITY_2023_1_OR_NEWER if (sorted) return Object.FindFirstObjectByType(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude); else return Object.FindAnyObjectByType(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude); #elif UNITY_2020_1_OR_NEWER return Object.FindObjectOfType(includeInactive); #else return Object.FindObjectOfType(); #endif } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static T[] FindObjectsOfType(bool includeInactive = false) where T : Object { #if UNITY_2023_1_OR_NEWER return Object.FindObjectsByType(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, FindObjectsSortMode.None); #elif UNITY_2020_1_OR_NEWER return Object.FindObjectsOfType(includeInactive); #else return Object.FindObjectsOfType(); #endif } } }