为了更好的识别打印信息,这里封装了一下打印信息的工具类,虽然Unity中已经很好的识别..但是自己还是想实现新的工具类
DebugBase脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DebugBase<T> where T :new()
{
/// <summary>
/// 泛型单例
/// </summary>
static T instance;
public static T Instance {
get {
if (instance == null) {
instance = new T ();
}
return instance;
}
}
/// <summary>
/// 普通打印信息
/// </summary>
/// <param name="msg">Message.</param>
public virtual void Log (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
Debug.Log (msg);
}
}
/// <summary>
/// 警告打印
/// </summary>
/// <param name="msg">Message.</param>
public virtual void LogWarning (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
Debug.LogWarning (msg);
}
}
/// <summary>
/// 错误打印
/// </summary>
/// <param name="msg">Message.</param>
public virtual void LogError (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
Debug.LogError (msg);
}
}
}
public class GameLog :DebugBase<GameLog>
{
/// <summary>
/// 重写父类Log
/// </summary>
/// <param name="msg">Message.</param>
public override void Log (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
base.Log ("*LOG*<color=white>" + msg + "</color>");
}
}
/// <summary>
/// 重写父类LogWarning
/// </summary>
/// <param name="msg">Message.</param>
public override void LogWarning (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
base.LogWarning ("*Warning*<color=yellow>" + msg + "</color>");
}
}
/// <summary>
/// 重写父类LogError
/// </summary>
/// <param name="msg">Message.</param>
public override void LogError (string msg)
{
if (!string.IsNullOrEmpty (msg)) {
base.LogError ("*Error*<color=red>" + msg + "</color>");
}
}
}
Test脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
Button btn;
// Use this for initialization
void Start ()
{
btn = transform.Find ("Button").GetComponent <Button> ();
btn.onClick.AddListener (delegate() {
GameLog.Instance.Log ("这是一个LOG");
GameLog.Instance.LogWarning ("这是一个LogWarning");
GameLog.Instance.LogError ("这是一个LogError");
});
}
}
效果如下: