ErrorLogger屏幕显示开启与DebugModule关联。

ErrorLogger屏幕显示开启与DebugModule关联。
This commit is contained in:
ALEXTANG
2023-10-26 23:45:26 +08:00
parent cfaf82a623
commit b1c7f30be9
3 changed files with 30 additions and 3 deletions

View File

@@ -38,6 +38,8 @@ namespace TEngine
[SerializeField]
private DebuggerActiveWindowType m_ActiveWindow = DebuggerActiveWindowType.AlwaysOpen;
public DebuggerActiveWindowType ActiveWindowType => m_ActiveWindow;
[SerializeField]
private bool m_ShowFullWindow = false;

View File

@@ -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;
}

View File

@@ -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();
}