using System;
using UnityEngine;
namespace TEngine
{
public sealed partial class Debugger
{
///
/// 日志记录结点。
///
public sealed class LogNode : IMemory
{
private DateTime _logTime;
private int _logFrameCount;
private LogType _logType;
private string _logMessage;
private string _stackTrack;
///
/// 初始化日志记录结点的新实例。
///
public LogNode()
{
_logTime = default(DateTime);
_logFrameCount = 0;
_logType = LogType.Error;
_logMessage = null;
_stackTrack = null;
}
///
/// 获取日志时间。
///
public DateTime LogTime
{
get
{
return _logTime;
}
}
///
/// 获取日志帧计数。
///
public int LogFrameCount
{
get
{
return _logFrameCount;
}
}
///
/// 获取日志类型。
///
public LogType LogType
{
get
{
return _logType;
}
}
///
/// 获取日志内容。
///
public string LogMessage
{
get
{
return _logMessage;
}
}
///
/// 获取日志堆栈信息。
///
public string StackTrack
{
get
{
return _stackTrack;
}
}
///
/// 创建日志记录结点。
///
/// 日志类型。
/// 日志内容。
/// 日志堆栈信息。
/// 创建的日志记录结点。
public static LogNode Create(LogType logType, string logMessage, string stackTrack)
{
LogNode logNode = MemoryPool.Acquire();
logNode._logTime = DateTime.UtcNow;
logNode._logFrameCount = Time.frameCount;
logNode._logType = logType;
logNode._logMessage = logMessage;
logNode._stackTrack = stackTrack;
return logNode;
}
///
/// 清理日志记录结点。
///
public void Clear()
{
_logTime = default(DateTime);
_logFrameCount = 0;
_logType = LogType.Error;
_logMessage = null;
_stackTrack = null;
}
}
}
}