128 lines
3.8 KiB
C#
128 lines
3.8 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
|
|||
|
|
namespace XDebug
|
|||
|
|
{
|
|||
|
|
public static class Log
|
|||
|
|
{
|
|||
|
|
public struct LogInfo
|
|||
|
|
{
|
|||
|
|
public string str;
|
|||
|
|
public Color color;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static Color BLUE = new Color(0, 0, 1);
|
|||
|
|
public static Color RED = new Color(1, 0, 0);
|
|||
|
|
public static Color YELLOW = new Color(1, 1, 0);
|
|||
|
|
public static Color WHITE = new Color(1, 1, 1);
|
|||
|
|
public static Color GREEN = new Color(0, 1, 0);
|
|||
|
|
public static Color BLACK = new Color(0, 0, 0);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 控制是否开启debug, -1禁用Unity log, -2完全禁用
|
|||
|
|
/// </summary>
|
|||
|
|
public static int isEnabled = 1;
|
|||
|
|
public static int maxCount = int.MaxValue; //50000;
|
|||
|
|
public static List<LogInfo> logList = new List<LogInfo>();
|
|||
|
|
private static bool mIsDownOpenDebug = false;
|
|||
|
|
private static float mDownY = 0;
|
|||
|
|
private static bool mIsHideUILog = false;
|
|||
|
|
|
|||
|
|
static Log()
|
|||
|
|
{
|
|||
|
|
GameLogic.GameManager.Instance.AddUpdateEvent(UpdateLog);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static string getFormatStr(object[] args)
|
|||
|
|
{
|
|||
|
|
if (args == null)
|
|||
|
|
return "[NULL] ";
|
|||
|
|
|
|||
|
|
string str = "";
|
|||
|
|
for (int i = 0; i < args.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (args[i] == null)
|
|||
|
|
str += "[NULL] , ";
|
|||
|
|
else
|
|||
|
|
str += args[i] + " , ";
|
|||
|
|
}
|
|||
|
|
return str;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static void error(params object[] args)
|
|||
|
|
{
|
|||
|
|
GameCore.BaseLogger.LogError(getFormatStr(args));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static void warning(params object[] args)
|
|||
|
|
{
|
|||
|
|
GameCore.BaseLogger.LogWarning(getFormatStr(args));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void l(params object[] args)
|
|||
|
|
{
|
|||
|
|
l(WHITE, args);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void lHide(params object[] args)
|
|||
|
|
{
|
|||
|
|
if (isEnabled == -2) return;
|
|||
|
|
if (logList.Count > maxCount)
|
|||
|
|
clear();
|
|||
|
|
|
|||
|
|
string str = getFormatStr(args);
|
|||
|
|
str = "[" + System.DateTime.Now.ToString("hh:mm:ss:ffff") + "] : " + str.Substring(0, str.Length - 3);
|
|||
|
|
logList.Add(new LogInfo() {str = str, color = WHITE});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void l(Color color, params object[] args)
|
|||
|
|
{
|
|||
|
|
if (isEnabled == -2) return;
|
|||
|
|
if (logList.Count > maxCount)
|
|||
|
|
clear();
|
|||
|
|
|
|||
|
|
string str = getFormatStr(args);
|
|||
|
|
str = "[" + System.DateTime.Now.ToString("HH:mm:ss:ffff") + "] : " + str.Substring(0, str.Length - 3);
|
|||
|
|
logList.Add(new LogInfo() {str = str, color = color});
|
|||
|
|
if (isEnabled >= 0)
|
|||
|
|
GameCore.BaseLogger.Log(str);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void clear()
|
|||
|
|
{
|
|||
|
|
logList.Clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static void UpdateLog()
|
|||
|
|
{
|
|||
|
|
////////手势控制开启关闭, 左下角滑到右上角开启,再次关闭
|
|||
|
|
|
|||
|
|
if (isEnabled != -2)
|
|||
|
|
{
|
|||
|
|
Vector3 mousePos = Input.mousePosition;
|
|||
|
|
mousePos.y = Screen.height - mousePos.y;
|
|||
|
|
if (Input.GetMouseButtonDown(0) && mousePos.x / Screen.width < 0.1f && mousePos.y / Screen.height > 0.9f)
|
|||
|
|
{
|
|||
|
|
mIsDownOpenDebug = true;
|
|||
|
|
}
|
|||
|
|
if (Input.GetMouseButtonUp(0))
|
|||
|
|
{
|
|||
|
|
if (mousePos.x / Screen.width > 0.9f && mousePos.y / Screen.height < 0.1f && mIsDownOpenDebug)
|
|||
|
|
{
|
|||
|
|
isEnabled += 1;
|
|||
|
|
if (isEnabled == 2)
|
|||
|
|
{
|
|||
|
|
isEnabled = -2;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
mIsDownOpenDebug = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|