Net.Like.Xue.Tokyo/Assets/Plugins/Le Tai's Asset/TranslucentImage/Script/Utilities/Shims.cs

37 lines
1.3 KiB
C#

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