Unity中Debug打印信息的顏色設置


為了更好的識別打印信息,這里封裝了一下打印信息的工具類,雖然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");
		});
	}
}

  效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM