Class: TonMenuManager
メニューのスタック(重なり順)と状態遷移を管理するクラスです。
複数のメニューを開き、必要に応じて戻る(Pop)などの履歴管理を自動化します。
詳細はTonMenuのページを参照してください。
役割
- スタック管理: 新しいメニューをPushすると最前面になり、Popすると前のメニューに戻ります。
- 入力分配: 現在アクティブな(最前面の)メニューにのみ入力を伝えます。
- 描画順序: 後ろにあるメニューから順に描画します(Zオーダー)。
Methods
public void Push(TonMenu menu, Action<object> onResult = null)
新しいメニューをスタックの一番上に開き、アクティブにします。
menu: 開くメニューインスタンスonResult: このメニューが閉じられた時に呼ばれるコールバック。結果を受け取るのに使います。
public void Pop(object result = null)
現在の(最前面の)メニューを閉じ、前のメニューに戻ります。
result: 親メニュー(Push時のcallback)に渡す結果データ。
public void Clear()
全てのメニューを強制的に閉じ、スタックを空にします。
public void Update()
アクティブなメニューに入力状態を伝えます。通常は Game.Update 内で呼び出します。
public void Draw(Action<TonMenu> backgroundDrawer = null)
スタックされている全てのメニューを描画します。
backgroundDrawer: 各メニューの描画直前に呼ばれるコールバック。ウィンドウの背景(枠)などを描画するために使用します。
public bool IsMenuOpen
現在開いているメニューがあるかどうか(スタックが空でないか)を取得します。
public void SetInputButtons(string ok, string cancel)
メニュー操作に使用する入力ボタンの割り当てを変更します。
デフォルトでは 決定="A", キャンセル="B" です。
ok: 決定操作のボタン名(TonInputで定義されたもの)cancel: キャンセル操作のボタン名