public class LogManager { // Fields public static bool Debugstate; // Methods public static void Log(string strText) { if (Debugstate) { Debug.Log(strText); } } public static void Log(string strText, Object context) { if (Debugstate) { Debug.Log(strText, context); } } public static void LogError(string strText) { if (Debugstate) { Debug.LogError(strText); } } public static void LogError(string strText, Object context) { if (Debugstate) { Debug.LogError(strText, context); } } public static void LogWarning(string strText) { if (Debugstate) { Debug.LogWarning(strText); } } public static void LogWarning(string strText, Object context) { if (Debugstate) { Debug.LogWarning(strText, context); } } }
namespace Kola { using System; using System.IO; using System.Text; using UnityEngine; public class KDebugHelp { public static bool Enable; public static bool EnableKConsole; internal KDebugHelp() { } public static void Assert(bool flag, string format, params object[] param) { if (!flag) { PrintError(format, param); } } public static void DrawCenterRect(Vector2 center, Vector2 size, float duration, Color color) { Vector2 leftTop = new Vector2(center.x - (size.x * 0.5f), center.y + (size.y * 0.5f)); Vector2 rightBottom = new Vector2(center.x + (size.x * 0.5f), center.y - (size.y * 0.5f)); DrawRect(leftTop, rightBottom, duration, color); } public static void DrawLine(Vector2 start, Vector2 end, float duration, Color color) { if (Enable) { Debug.DrawLine((Vector3) start, (Vector3) end, color, duration); } } public static void DrawPolygon(float duration, Color color, bool close, params Vector2[] pnts) { if (Enable && ((pnts != null) && (pnts.Length > 1))) { for (int i = 1; i < pnts.Length; i++) { DrawLine(pnts[i - 1], pnts[i], duration, color); } if (close) { DrawLine(pnts[pnts.Length - 1], pnts[0], duration, color); } } } public static void DrawRect(Vector2 leftTop, Vector2 rightBottom, float duration, Color color) { if (Enable) { DrawLine(new Vector3(leftTop.x, leftTop.y, 0f), new Vector3(rightBottom.x, leftTop.y, 0f), duration, color); DrawLine(new Vector3(leftTop.x, rightBottom.y, 0f), new Vector3(rightBottom.x, rightBottom.y, 0f), duration, color); DrawLine(new Vector3(leftTop.x, leftTop.y, 0f), new Vector3(leftTop.x, rightBottom.y, 0f), duration, color); DrawLine(new Vector3(rightBottom.x, leftTop.y, 0f), new Vector3(rightBottom.x, rightBottom.y, 0f), duration, color); } } public static void Error(string msg) { WriteLog2File("Error", msg); if (Enable) { if (EnableKConsole) { } Debug.LogError(msg); } } public static void Error(string format, params object[] param) { Error(string.Format(format, param)); } public static void Log(string msg) { if (Enable && !EnableKConsole) { Debug.Log(msg); } } public static void Log(string format, params object[] param) { Log(string.Format(format, param)); } public static void Print(string format, params object[] param) { Log(format, param); } public static void PrintError(string format, params object[] param) { Error(format, param); } public static void PrintWarning(string format, params object[] param) { Warning(format, param); } public static void Warning(string msg) { if (Enable) { if (EnableKConsole) { } Debug.LogWarning(msg); } } public static void Warning(string format, params object[] param) { Warning(string.Format(format, param)); } public static void WriteLog2File(string level, string msg) { using (FileStream stream = new FileStream(KAssertManager.ExternalPath + "Log.txt", FileMode.Append)) { string s = string.Format("[{0}] [{1}] [{2}] ", level, KUtil.GetSystemTime("HH:mm:ss"), msg); byte[] bytes = Encoding.UTF8.GetBytes(s); stream.Write(bytes, 0, bytes.Length); stream.Flush(); } } } }