From b1c7f30be91ec2166e283321e7468dbfe1e70e79 Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Thu, 26 Oct 2023 23:45:26 +0800 Subject: [PATCH] =?UTF-8?q?ErrorLogger=E5=B1=8F=E5=B9=95=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=B8=8EDebugModule=E5=85=B3=E8=81=94?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ErrorLogger屏幕显示开启与DebugModule关联。 --- .../Modules/DebugerModule/DebuggerModule.cs | 2 ++ .../UIModule/ErrorLogger/ErrorLogger.cs | 7 +++--- .../Runtime/Modules/UIModule/UIModule.cs | 24 +++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) 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(); }