グリフォン Advent Calendar 2018 13日目の記事を担当しました、Unityエンジニアのちょこぷよです
この記事ではDebug.Logをカスタマイズしたときの問題とその解決方法の紹介をします
※この記事はGRIPHONE Advent Calendar 2018 13日目の記事です。
https://qiita.com/advent-calendar/2018/griphone
https://adventar.org/calendars/3147
Debug.Log、カスタマイズしたくなるときありますよね
クラス名出したり、行数出したり、色を分けたりとか…
例えば色を変えるなら以下で出来ますね!
DebugCustom.cs
public static class Debug
{
public static void Log(object message)
{
UnityEngine.Debug.Log("<color=red>" + message + "</color>");
}
}
呼び出しはこんなかんじで。
DebugTest.cs
public class DebugTest : MonoBehaviour
{
void Start()
{
Debug.Log("testtest");
}
}
↑出ました!
そしてコンソール上をダブルクリックすると…
呼び出しがDebugTestクラスなら、DebugTestクラスの5行目に飛んでほしいのですが、残念ながら先程作ったstaticのDebugクラスに飛んでしまうのです
これは困った
DLLを作ろう
そこで登場するのがDLLです
DLLにするとコードが開けなくなるので、コンソールダブルクリックで1つ前の呼び出しまでジャンプできます
DLLを作るには、以下のようなbatchファイルを作ります
build.bat
smcs.batのファイルパス -r:"UnityEngine.dllのファイルパス" -r:"UnityEditor.dllのファイルパス" -target:library -out:任意の名前.dll *.cs
ちなみに自分の環境だと以下のような感じになりました
"C:\Program Files\Unity\Editor\Data\Mono\bin\smcs.bat" -r:"C:\Program Files\Unity\Editor\Data\Managed\UnityEngine.dll" -r:"C:\Program Files\Unity\Editor\Data\Managed\UnityEditor.dll" -target:library -out:../CustomDebug.dll *.cs
フォルダ構成は
DebugCustomフォルダ
├ build.bat
└ DebugCustom.cs
にして、batchをダブルクリックをすることでDLLを作ることが出来ます
DLLはプロジェクト内に置いておけば使えます
あとはLogを出して、コンソールをダブルクリックをすることで、行きたいところにジャンプできることが確認できます
お疲れ様でした