為了方便自己所作的 Develop Manager.
編寫 MonoBehaviour 物件時可以使用 MonoBehaviourDev 作 extends.
繼承後的程序將會擁有一個只在 DevManager 啟用時才進行的 HandleDebugGUI() 視窗.
方便 developer 用作資訊顯示及非常規操作.
- DevManager
- 默認使用 Scroll Lock 作 開關閉 DevGUI, 可自行設定.
- 將自動新增一個 HandleDebugGUI() 的 class 作 GUI 輸出.並且由 DevManager 作顯示控制.
- 所有 MonoBehaviourDev 可自訂視窗大小(default: 全屏)
- 附加 DevLogViewer, 使用內建的 Unity3D debuger 無需額外語法
- 支持 Filter 分類不同 Class 的 trigger 的 log
- 支持 Timescale 操作
- 雙擊每項 Log 可顯示 Debug Log 的 stace trace.
- 附加 DevComponentLoader, 可任意增加任何 perfab / gameObject 類別.
- OnEnable/OnDisable 進行資源管理
- 可設定最大產生數, ( 可多於 1 )
- 附加 DevCamera, 可隨時於遊戲中加插自由移動的鏡頭
- 滑鼠+鍵盤 全屏, 全方向 及 加速移動
- 附加 DevDetectLeak
- 參考的是 UnityPro 版中的 Profiler 把 scene 裡的所有東西數列出.
- 附加 DevConsole, 可任意增加 console 指令於運行時作調測用.
- 於 OnEnable 時進行 AddCommand 即可加入任何指令 😀
using UnityEngine; using System.Collections.Generic; using DevelopManager; public class MyCustomFunction : ExtendCommand { public Texture2D BigHead; void OnEnable() { AddCommand("say", "Repeat your message.", TalkToMe); // DelCommand("say"); AddCommand("time","Display current time.", CurrentTime); } // DoSomething should return List<GUIContent> or null // e.g. //*** public List<GUIContent> TalkToMe(string[] _args) { List<GUIContent> _rst = new List<GUIContent>(); if( BigHead ) _rst.Add(new GUIContent(BigHead)); _rst.Add(new GUIContent("Say : "+ string.Join(" ",_args) )); return _rst; } public List<GUIContent> CurrentTime(string[] _args) { List<GUIContent> _rst = new List<GUIContent>(); _rst.Add(new GUIContent("Time : "+ System.DateTime.Now.ToLongDateString() )); return _rst; } //***/ }
- 於 OnEnable 時進行 AddCommand 即可加入任何指令 😀
- 附加 HUDFPS, 簡單的 fps 顯示