独自のメニューを追加する方法
独自のメニューを追加する方法を解説します。
追加方法
NOA Debuggerを組み込んだアプリケーション内で独自のメニューを利用するには、1つのメニューに対して以下の対応が必要です。
- uGUIを用いたPrefabの作成
NoaCustomMenuBase
を継承したC#クラスの実装- NOA Debugger EditorからC#クラスの登録
NOA Debuggerが提供する機能を利用する場合は、必ずNOA_DEBUGGER
のシンボル定義を利用してください。
継承したクラスには以下のプロパティをオーバーライドして実装する必要があります。
プロパティ | |
---|---|
string ViewPrefabPath { get; } | ツール内に表示する画面のPrefabパスを返り値に指定します。 |
string MenuName { get; } | メニューに表示する名前を返り値に指定します。 |
また、以下のメソッドは必要に応じてオーバーライドできます。
メソッド | |
---|---|
void OnInitialize() | 初期化時に行いたい処理を記載します。 |
void OnShow(GameObject go) | ツール内部表示時の処理を記載します。 引数:生成されたGameObjectが取得できます。 |
void OnDispose() | ツールの破棄時に行いたい処理を記載します。 |
継承したクラスをNOA Debugger Editorから登録する方法は、ツールの設定方法を参照してください。
ツールに表示する画面のPrefabはAssets/NoaDebuggerSettings/Resources/Custom
フォルダに配置してください。
Prefabに配置するTransformはRect Transform
で作成してください。
NOA DebuggerのCanvasはRender ModeがOverlayで設定しているため、3DオブジェクトをRootPrefabの子要素に配置した場合はUIの背面に表示されます。
作成したPrefabは、NOA DebuggerのPrefabと同様にコンパイルに含めないようにすることができます。
詳しい内容は、ツールを取り除いてコンパイルする方法を参照してください。
サンプルコード
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
public class SampleMenu : NoaCustomMenuBase
{
protected override string ViewPrefabPath { get => "Custom/SampleView"; }
protected override string MenuName { get => "sample"; }
protected override void OnInitialize()
{
//何らかの処理
}
protected override void OnShow(GameObject gameObject)
{
//何らかの処理
}
protected override void OnDispose()
{
//何らかの処理
}
}
#endif
表示方法
NOA Debuggerツールを起動後、メニュー欄の下部にある[Custom Menu]を押下します。
押下で追加したメニューのみの画面に切り替わり、NOA Debugger提供メニューと同様にメニューを選択して詳細を表示できます。
NOA Debugger提供メニューに戻る際はメニュー欄の下部にある[Default Menu]を押下します。