NOA DebuggerNOA Debugger
  • v1.7.0
  • v1.6.1
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.1
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • v1.7.0
  • v1.6.1
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.1
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • NoaApplicationResetCallbacks

NoaApplicationResetCallbacks

アプリケーションリセット機能に関連するイベントを設定します。

NoaApplicationResetCallbacksを継承したクラスをNoaControllerに引き渡すことで、アプリケーションリセット機能に関連するイベントをカスタマイズできます。

オーバーライド可能な要素

Methods

メソッド名説明
OnBeforeApplicationReset()アプリケーションリセット処理の前に実行するメソッドです。
OnAfterApplicationReset()アプリケーションリセット処理の後に実行するメソッドです。
NOA Debuggerのアプリケーションリセット処理を実行しなかった場合でもこのメソッドは実行します。

Properties

プロパティ名説明
IsAllowBaseApplicationResetNOA Debuggerのアプリケーションリセット処理を実行するかを判断します。
デフォルトはtrueで、falseに変更した場合はアプリケーションリセット処理を実行しません。

関連する型

INoaApplicationResetCallbacks

NoaApplicationResetCallbacksのオーバーライド可能なメソッドとプロパティは、このインターフェースで定義しています。

カスタムクラスで複数のコールバックの定義を集約したい場合や、既存のカスタムクラスを継承しつつコールバック機能を追加したい場合は、NoaApplicationResetCallbacksクラスの代わりにこのインターフェースを利用することで実現できます。

サンプルコード

#if NOA_DEBUGGER
using NoaDebugger;
using UnityEngine;

// NOA Debuggerのアプリケーションリセット処理後にイベントを実行する場合の例
public class ExampleApplicationResetter : NoaApplicationResetCallbacks
{
    public override void OnAfterApplicationReset()
    {
        // 遷移後のシーン名を出力
        Debug.Log($"Transitioned to: {SceneManager.GetActiveScene().name}");
    }
}

// 独自のフラグでNOA Debuggerのアプリケーションリセット処理の実行有無を制御する場合の例
public class ExampleOriginalApplicationResetter : NoaApplicationResetCallbacks
{
    bool isAllowBaseApplicationReset = true;
    public override bool IsAllowBaseApplicationReset => isAllowBaseApplicationReset;

    public override void OnBeforeApplicationReset()
    {
        // 滞在中のシーン状況に合わせて処理を分岐させる例
        switch (ExampleSceneManager.Instance.CurrentScene)
        {
            case SceneType.Boot:
            case SceneType.Splash:
                isAllowBaseApplicationReset = false;
                break;

            case SceneType.Title:
            case SceneType.Home:
                isAllowBaseApplicationReset = true;
                break;

            case SceneType.Battle:
                ExampleBattleManager.Instance.InterruptBattle();
                isAllowBaseApplicationReset = true;
                break;

            default:
                isAllowBaseApplicationReset = false;
                ExampleSceneManager.Instance.LoadScene(SceneType.Home);
                break;
        }
    }
}
#endif

リンク集

関連機能

  • ツールの起動方法

使用クラス

  • NoaController