diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs index cd9e8ad5..36d206a9 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs @@ -101,7 +101,7 @@ namespace TEngine _errorLogger.Dispose(); _errorLogger = null; } - CloseAll(); + CloseAll(isShutDown:true); if (m_InstanceRoot != null && m_InstanceRoot.parent != null) { Destroy(m_InstanceRoot.parent.gameObject); @@ -393,12 +393,12 @@ namespace TEngine /// /// 关闭所有窗口。 /// - public void CloseAll() + public void CloseAll(bool isShutDown = false) { for (int i = 0; i < _stack.Count; i++) { UIWindow window = _stack[i]; - window.InternalDestroy(); + window.InternalDestroy(isShutDown); } _stack.Clear(); diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIWindow.cs b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIWindow.cs index 1d360feb..a22f464d 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIWindow.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIWindow.cs @@ -370,7 +370,7 @@ namespace TEngine return needUpdate; } - internal void InternalDestroy() + internal void InternalDestroy(bool isShutDown = false) { _isCreate = false; @@ -394,7 +394,11 @@ namespace TEngine Object.Destroy(_panel); _panel = null; } - CancelHideToCloseTimer(); + + if (!isShutDown) + { + CancelHideToCloseTimer(); + } } ///