Unity之私人订制Debug

来源:互联网 发布:音效素材 知乎 编辑:程序博客网 时间:2024/04/29 02:09

其实原理很简单,这里用到的是富文本的知识,也许大家会觉得这种low定制反而显得麻烦了,那就直接跳过。。。

直接上代码:

using UnityEngine;using System.Collections;using System;using System.Text;namespace Scripts.CoreScripts.Core.Helper{    public class Debugger    {        /// <summary>        /// 是否开启Debugger        /// </summary>        static public bool Enable = true;        /// <summary>        /// 默认错误颜色:红色        /// </summary>        static public string ErrorColor = "red";        /// <summary>        /// 默认警告颜色:黄色        /// </summary>        static public string WarningColor = "yellow";        /// <summary>        /// 默认输出颜色:白色        /// </summary>        static public string LogColor = "white";        /// <summary>        /// 默认字号:20        /// </summary>        static public int FontSize = 20;        /// <summary>        /// 默认颜色,默认字号输出        /// </summary>        /// <param name="message">输出内容</param>        static public void Log(object message)        {            if (Enable)            {                Debug.Log("<color=" + LogColor + ">" + "<size=" + FontSize + ">" + message + "</size>" + "</color>");            }        }        /// <summary>        /// 默认颜色,默认字号输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="context">连接上下文</param>        static public void Log(object message, UnityEngine.Object context)        {            if (Enable)            {                Debug.Log("<color=" + LogColor + ">" + "<size=" + FontSize + ">" + message + "</size>" + "</color>", context);            }        }        /// <summary>        /// 自定义颜色输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="color">颜色</param>        static public void Log(object message, Color32 color)        {            if (Enable)            {                Debug.Log("<color=" + FormatColor32(color) + ">" + message + "</color>");            }        }        /// <summary>        /// 自定义颜色、默认字号输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="color">颜色</param>        /// <param name="context">连接上下文</param>        static public void Log(object message, Color32 color, UnityEngine.Object context)        {            if (Enable)            {                Debug.Log("<color=" + FormatColor32(color) + ">" + "<size=" + FontSize + ">" + message + "</size>" + "</color>", context);            }        }        /// <summary>        /// 自定义字号输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="fontSize">字号大小,汉字上限26,大写英文上限30,小写英文上限25,仅供参考</param>        static public void Log(object message, int fontSize)        {            if (Enable)            {                Debug.Log("<color=" + LogColor + ">" + "<size=" + FontSize + ">" + message + "</size>" + "</color>");            }        }        /// <summary>        /// 自定义字号输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="fontSize">字号</param>        /// <param name="context">连接上下文</param>        static public void Log(object message, int fontSize, UnityEngine.Object context)        {            if (Enable)            {                Debug.Log("<size=" + fontSize + ">" + message + "</size>", context);            }        }        /// <summary>        /// 自定义字号、颜色输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="color">颜色</param>        /// <param name="fontsize">字号</param>        static public void Log(object message, Color32 color, int fontsize)        {            if (Enable)            {                Debug.Log("<color=" + FormatColor32(color) + ">" + "<size=" + fontsize + ">" + message + "</size>" + "</color>");            }        }        /// <summary>        /// 自定义字号、颜色输出        /// </summary>        /// <param name="message">输出内容</param>        /// <param name="color">颜色</param>        /// <param name="fontSize">字号</param>        /// <param name="context">连接上下文</param>        static public void Log(object message, Color32 color, int fontSize, UnityEngine.Object context)        {            if (Enable)            {                Debug.Log("<color=" + FormatColor32(color) + ">" + "<size=" + fontSize + ">" + message + "</size>" + "</color>", context);            }        }        static public void LogWarning(object message)        {            if (Enable)            {                Debug.LogWarning("<color=" + WarningColor + ">" + message + "</color>");            }        }        static public void LogWarning(object message, UnityEngine.Object context)        {            if (Enable)            {                Debug.LogWarning("<color=" + WarningColor + ">" + message + "</color>", context);            }        }        static public void LogError(object message)        {            if (Enable)            {                Debug.LogError("<color=" + ErrorColor + ">" + message + "</color>");            }        }        static public void LogError(object message, UnityEngine.Object context)        {            if (Enable)            {                Debug.LogError("<color=" + ErrorColor + ">" + message + "</color>", context);            }        }        /// <summary>        /// 将Color32转换为#FFFFFFFF格式        /// </summary>        /// <param name="color"></param>        /// <returns></returns>        static private string FormatColor32(Color32 color)        {            StringBuilder sb = new StringBuilder();            sb.Append("#");            sb.Append(color.r.ToString("x2"));            sb.Append(color.g.ToString("x2"));            sb.Append(color.b.ToString("x2"));            sb.Append(color.a.ToString("x2"));            return sb.ToString();        }    }}

以上知识分享,如有错误,欢迎指出,共同学习,共同进步。

0 0