From 82332ba5b4e16882bd3e3df39d945a28398cf859 Mon Sep 17 00:00:00 2001 From: Alex-Rachel <574809918@qq.com> Date: Sun, 23 Mar 2025 00:26:33 +0800 Subject: [PATCH] Utility.Unity.FindObjectOfType --- .../TEngine/Runtime/Core/Utility/Utility.Unity.cs | 13 +++++++++++++ .../Core/Manager/LocalizationManager_Parameters.cs | 2 ++ .../Core/Utils/ResourceManager.cs | 2 +- .../Assets/TEngine/Runtime/Module/RootModule.cs | 2 +- .../TEngine/Runtime/Module/Settings/Settings.cs | 2 +- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs index 2468bace..9a94c8b8 100644 --- a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs +++ b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs @@ -322,6 +322,19 @@ namespace TEngine _updateDriver = ModuleSystem.GetModule(); } + + #region FindObjectOfType + public static T FindObjectOfType() where T : UnityEngine.Object + { +#if UNITY_6000_0_OR_NEWER + return UnityEngine.Object.FindFirstObjectByType(); +#else + return UnityEngine.Object.FindObjectOfType(); + +#endif + } + + #endregion } public class GameCoroutine diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Parameters.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Parameters.cs index 99e5ddc1..9cdded07 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Parameters.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Parameters.cs @@ -25,7 +25,9 @@ namespace TEngine.Localization public static void AutoLoadGlobalParamManagers() { +#pragma warning disable CS0618 // Type or member is obsolete foreach (var manager in Object.FindObjectsOfType()) +#pragma warning restore CS0618 // Type or member is obsolete { if (manager._IsGlobalManager && !ParamManagers.Contains(manager)) { diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Utils/ResourceManager.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Utils/ResourceManager.cs index 20a532f9..c56ca89e 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Utils/ResourceManager.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Utils/ResourceManager.cs @@ -20,7 +20,7 @@ namespace TEngine.Localization bool changed = mInstance==null; if (mInstance==null) - mInstance = (ResourceManager)FindObjectOfType(typeof(ResourceManager)); + mInstance = Utility.Unity.FindObjectOfType(); if (mInstance==null) { diff --git a/UnityProject/Assets/TEngine/Runtime/Module/RootModule.cs b/UnityProject/Assets/TEngine/Runtime/Module/RootModule.cs index cd73eae0..6dc6ce51 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/RootModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/RootModule.cs @@ -17,7 +17,7 @@ namespace TEngine { if (_instance == null) { - _instance = FindObjectOfType(); + _instance = Utility.Unity.FindObjectOfType(); } return _instance; } diff --git a/UnityProject/Assets/TEngine/Runtime/Module/Settings/Settings.cs b/UnityProject/Assets/TEngine/Runtime/Module/Settings/Settings.cs index e65713fb..ab5d8b5a 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/Settings/Settings.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/Settings/Settings.cs @@ -12,7 +12,7 @@ namespace TEngine { if (_instance == null) { - _instance = GameObject.FindObjectOfType(); + _instance = Utility.Unity.FindObjectOfType(); if (_instance != null) {