diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/DebugerModule/DebuggerModule.cs b/UnityProject/Assets/TEngine/Runtime/Modules/DebugerModule/DebuggerModule.cs index a088c414..b9a727f6 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/DebugerModule/DebuggerModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/DebugerModule/DebuggerModule.cs @@ -38,6 +38,8 @@ namespace TEngine [SerializeField] private DebuggerActiveWindowType m_ActiveWindow = DebuggerActiveWindowType.AlwaysOpen; + public DebuggerActiveWindowType ActiveWindowType => m_ActiveWindow; + [SerializeField] private bool m_ShowFullWindow = false; diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/ErrorLogger/ErrorLogger.cs b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/ErrorLogger/ErrorLogger.cs index 508acb2d..0f79fa7d 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/ErrorLogger/ErrorLogger.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/ErrorLogger/ErrorLogger.cs @@ -1,15 +1,16 @@ -using UnityEngine; +using System; +using UnityEngine; namespace TEngine { - public class ErrorLogger + public class ErrorLogger:IDisposable { public ErrorLogger() { Application.logMessageReceived += LogHandler; } - ~ErrorLogger() + public void Dispose() { Application.logMessageReceived -= LogHandler; } diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs index ca04cfaf..5f9c0fcd 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIModule.cs @@ -68,6 +68,25 @@ namespace TEngine m_InstanceRoot.gameObject.layer = LayerMask.NameToLayer("UI"); UIRootStatic = m_InstanceRoot; + + switch (GameModule.Debugger.ActiveWindowType) + { + case DebuggerActiveWindowType.AlwaysOpen: + m_enableErrorLog = true; + break; + + case DebuggerActiveWindowType.OnlyOpenWhenDevelopment: + m_enableErrorLog = Debug.isDebugBuild; + break; + + case DebuggerActiveWindowType.OnlyOpenInEditor: + m_enableErrorLog = Application.isEditor; + break; + + default: + m_enableErrorLog = false; + break; + } if (m_enableErrorLog) { _errorLogger = new ErrorLogger(); @@ -76,6 +95,11 @@ namespace TEngine private void OnDestroy() { + if (_errorLogger != null) + { + _errorLogger.Dispose(); + _errorLogger = null; + } CloseAll(); }