diff --git a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs index 9f786eb0..8e6fff75 100644 --- a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs +++ b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs @@ -225,15 +225,6 @@ namespace TEngine } #endregion - /// - /// 释放Behaviour生命周期。 - /// - public static void Release() - { - _MakeEntity(); - _behaviour.Release(); - } - private static void _MakeEntity() { if (_entity != null) @@ -241,11 +232,12 @@ namespace TEngine return; } - _entity = new GameObject("__MonoUtility__") + _entity = new GameObject("[Unity.Utility]") { - hideFlags = HideFlags.HideAndDontSave + // hideFlags = HideFlags.HideAndDontSave }; _entity.SetActive(true); + _entity.transform.SetParent(GameModule.Base.transform); #if UNITY_EDITOR if (Application.isPlaying) @@ -258,6 +250,22 @@ namespace TEngine _behaviour = _entity.AddComponent(); } + /// + /// 释放Behaviour生命周期。 + /// + public static void Shutdown() + { + if (_behaviour != null) + { + _behaviour.Release(); + } + if (_entity != null) + { + Object.Destroy(_entity); + } + _entity = null; + } + private class MainBehaviour : MonoBehaviour { private event UnityAction UpdateEvent; diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ModuleCore/ModuleSystem.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ModuleCore/ModuleSystem.cs index f75596fe..a71dc974 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/ModuleCore/ModuleSystem.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ModuleCore/ModuleSystem.cs @@ -77,7 +77,7 @@ namespace TEngine public static void Shutdown(ShutdownType shutdownType) { Log.Info("Shutdown Game Framework ({0})...", shutdownType); - Utility.Unity.Release(); + Utility.Unity.Shutdown(); RootModule rootModule = GetModule(); if (rootModule != null) {