0x001 需求
很多框架都包含了自己的日志功能晌区,如果我們自己去寫(xiě)框架難免會(huì)用到這個(gè)功能眷篇,如寫(xiě)出Log文件萌业,進(jìn)行跨平臺(tái)調(diào)試巩踏。
0x002 分析
根據(jù)上述需求,做出如下分析
經(jīng)過(guò)測(cè)試踱启,使用擴(kuò)展方法去擴(kuò)展Debug類(lèi)無(wú)效续扔,原因是Debug類(lèi)是只讀屬性的答倡。
那么我們只有去重寫(xiě)或者利用命名空間讓編譯器選擇我們的Debug類(lèi)疮丛,從而實(shí)現(xiàn)替換unityDebug的效果辆琅。
0x003 實(shí)現(xiàn)步驟
1.創(chuàng)建Debug類(lèi)
不需要繼承任何類(lèi),設(shè)置為靜態(tài)類(lèi)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class Debug {
}
1.查看UnityEngine.Debug類(lèi)
查看類(lèi)中方法及方法的參數(shù)这刷,并在我們的Debug類(lèi)中進(jìn)行實(shí)現(xiàn)。
unity
我們?cè)谧约旱念?lèi)中實(shí)現(xiàn)娩井,主要實(shí)現(xiàn)這幾個(gè)就可以了暇屋,這里我就只實(shí)現(xiàn)單參數(shù)的=-=
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class Debug {
public static void Log(object message)
{
UnityEngine.Debug.Log(message);
}
public static void LogWarning(object message)
{
UnityEngine.Debug.LogWarning(message);
}
public static void LogError(object message)
{
UnityEngine.Debug.LogError(message);
}
}
我們當(dāng)然可以去做一些前綴之類(lèi)的= =
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class Debug {
public static void Log(object message)
{
UnityEngine.Debug.Log("zhiyuan1:"+message);
}
public static void LogWarning(object message)
{
UnityEngine.Debug.LogWarning("zhiyuan2:" + message);
}
public static void LogError(object message)
{
UnityEngine.Debug.LogError("zhiyuan3:" + message);
}
}
0x004 實(shí)現(xiàn)效果
隨便新建一個(gè)腳本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour {
// Use this for initialization
void Start () {
Debug.Log("Log");
Debug.LogWarning("LogWarning");
Debug.LogError("LogError");
}
}
測(cè)試