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)
{