NoaController
このクラスを介して、コントローラー上における各種操作などの制御をスクリプトから実行できます。
API一覧
Static Methods
| API | 説明 |
|---|---|
| Show() | コントローラーを表示します。 |
| Hide() | コントローラーを閉じます。 |
| SetCustomTapAction(buttonIndex, action, messageFunc) | コントローラー上のカスタムアクションボタン (0〜4) 押下時のアクションを設定します。 messageFuncを省略した場合はデフォルトのトーストメッセージを表示し、nullを返した場合はトーストメッセージを表示しません。 |
| SetCustomLongPressAction(buttonIndex, action, messageFunc) | コントローラー上のカスタムアクションボタン (0〜4) 長押し時のアクションを設定します。 messageFuncを省略した場合はデフォルトのトーストメッセージを表示し、nullを返した場合はトーストメッセージを表示しません。 |
| SetCustomToggleAction(buttonIndex, action, messageFunc, initialState) | コントローラー上のカスタムアクションボタン (0〜4) のトグル切り替え時のアクションを設定します。 messageFuncを省略した場合はデフォルトのトーストメッセージを表示し、nullを返した場合はトーストメッセージを表示しません。 initialStateでトグルの初期状態を指定でき、省略時はfalseとなります。 |
| SetCustomActionType(buttonIndex, actionType) | コントローラー上のカスタムアクションボタン (0〜4) の機能を切り替えます。 設定できる機能は以下のとおりです。 - NoaController.CustomActionType.Button: 押下・長押しでアクションを発動するボタンとなります。設定しない場合はこちらがデフォルトとなります。 - NoaController.CustomActionType.ToggleButton: トグルボタンとなります。 |
| GetCustomActionType(buttonIndex) | コントローラー上のカスタムアクションボタン (0〜4) に設定しているアクションタイプを取得します。 アクションが登録されていない場合は、CustomActionType.Defaultが返ります。 |
| RunCustomTapAction(buttonIndex) | コントローラー上のカスタムアクションボタン (0〜4) 押下時に設定したアクションを実行します。 押下時のアクションが設定されていない場合は何も行いません。 |
| RunCustomLongPressAction(buttonIndex) | コントローラー上のカスタムアクションボタン (0〜4) 長押し時に設定したアクションを実行します。 長押し時のアクションが設定されていない場合は何も行いません。 |
| SetCustomToggle(buttonIndex, isOn) | コントローラー上のカスタムアクションボタン (0〜4) のトグルを切り替えます。 トグル切り替え時のアクションが設定されていない場合は何も行いません。 |
| GetCustomToggle(buttonIndex) | コントローラー上のカスタムアクションボタン (0〜4) のトグルの状態を返します。 トグル切り替え時のアクションが設定されていない場合はfalseを返します。 |
| TogglePauseResume() | ゲームの一時停止と再開を切り替えます。 |
| IncreaseGameSpeed() | ゲーム速度を速くします。 |
| DecreaseGameSpeed() | ゲーム速度を遅くします。 |
| MinimizeGameSpeed() | ゲーム速度を最小化します。 |
| MaximizeGameSpeed() | ゲーム速度を最大化します。 |
| FrameStepping() | ゲームを一時停止しコマ送りします。 |
| ResetGameSpeed() | ゲーム速度を初期値に戻します。 |
| ResetApplication() | アプリケーションの初回シーンに遷移します。 遷移時に呼ばれるコールバックの返り値で処理をキャンセルすることができます。 |
| ToggleNoaDebuggerUI() | NOA Debugger関連UIの表示・非表示を切り替えます。 切り替え時に呼ばれるコールバックの返り値で処理をキャンセルすることができます。 |
| CaptureScreenshot() | スクリーンショットを撮影します。 クラッシュ時にスクリーンショットを撮影する場合、レンダリングが完了していないために正常に動作しないことがあります。 |
| GetCapturedScreenshot() | 撮影されたスクリーンショット画像を取得します。撮影されたスクリーンショット画像が存在しない場合はnullを返します。 |
| ClearCapturedScreenshot() | 撮影されたスクリーンショット画像をクリアします。 |
| SetApplicationResetCallbacks(callbacks) | 独自のクラスを作成して引数にすることでアプリケーションリセット関連のイベントを設定します。 引数に関する詳しい内容はNoaApplicationResetCallbacksを参照してください。 |
| SetToggleUICallbacks(callbacks) | 独自のクラスを作成して引数にすることでNOA DebuggerUIの表示・非表示切り替え関連のイベントを設定します。 引数に関する詳しい内容はNoaToggleUICallbacksを参照してください。 |
| SetScreenshotCallbacks(callbacks) | 独自のクラスを作成して引数にすることでスクリーンショット関連のイベントを設定します。 引数に関する詳しい内容はNoaScreenshotCallbacksを参照してください。 |
Static Properties
| API | 説明 |
|---|---|
| OnShow | コントローラー表示時に発火するコールバックです。 |
| OnHide | コントローラーを閉じた時に発火するコールバックです。 |
| OnTogglePauseResume | ツールでゲームの一時停止と再開を切り替えた時に発火するコールバックです。 コールバック発火時に変更後のゲーム再生状態を取得できます。 |
| OnGameSpeedChanged | ツールでゲーム速度を変更した時に発火するコールバックです。 コールバック発火時に変更後のゲーム速度を取得できます。 |
| OnFrameStepping | ツールでコマ送りした時に発火するコールバックです。 |
| IsVisible | コントローラーを表示している場合、trueを返します。 |
| IsGamePlaying | ゲームが再生中であればtrue、一時停止中であればfalseを返します。 |
| GameSpeed | ツールで設定したゲーム速度を返します。 |
サンプルコード
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
#endif
public class Example
{
void ExampleMethod()
{
#if NOA_DEBUGGER
// コントローラーを表示する
NoaController.Show();
// コントローラーを閉じる
NoaController.Hide();
// コントローラー表示時のコールバックを設定する
NoaController.OnShow = () => Debug.Log("Show controller.");
// コントローラーを閉じた時のコールバックを設定する
NoaController.OnHide = () => Debug.Log("Hide controller.");
// コントローラーを表示しているか
bool isControllerVisible = NoaController.IsVisible;
// コントローラーのカスタムアクションボタン#0押下時のアクションを設定し、実行時にデフォルトのトーストメッセージを表示する
NoaController.SetCustomTapAction(0, () => Debug.Log("Controller #0 tapped"));
// コントローラーのカスタムアクションボタン#0押下時のアクションを実行する
NoaController.RunCustomTapAction(0);
// コントローラーのカスタムアクションボタン#0長押し時のアクションを設定し、実行時にトーストメッセージを表示しない
NoaController.SetCustomLongPressAction(0, () => Debug.Log("Controller #0 long pressed"), () => null);
// コントローラーのカスタムアクションボタン#0長押し時のアクションを実行する
NoaController.RunCustomLongPressAction(0);
// コントローラーのカスタムアクションボタン#1のトグル切り替え時のアクションを設定し、実行時に指定のトーストメッセージを表示する
// カスタムアクションボタンはデフォルトでは押下・長押し時に機能するボタンとなるため、トグルとして機能するよう設定する必要があります。
NoaController.SetCustomActionType(1, NoaController.CustomActionType.ToggleButton);
// カスタムアクションボタンのアクションタイプを取得する
CustomActionType actionType = NoaController.GetCustomActionType(0);
// このトグルはOff状態から始まる
NoaController.SetCustomToggleAction(
1,
isOn => Debug.Log($"Controller #1 toggled: {isOn}"),
isOn => $"Controller #1 toggled: {isOn}",
false);
// コントローラーのカスタムアクションボタン#1のトグルを切り替える
NoaController.SetCustomToggle(1, true);
// コントローラーのカスタムアクションボタン#1のトグルを取得
bool customToggle = NoaController.GetCustomToggle(1);
// ゲームの一時停止と再開を切り替える
NoaController.TogglePauseResume();
// ゲーム速度を速くする
NoaController.IncreaseGameSpeed();
// ゲーム速度を遅くする
NoaController.DecreaseGameSpeed();
// ゲーム速度を最小化する
NoaController.MinimizeGameSpeed();
// ゲーム速度を最大化する
NoaController.MaximizeGameSpeed();
// コマ送りする
NoaController.FrameStepping();
// ゲーム速度を初期値に戻す
NoaController.ResetGameSpeed();
// ゲームの一時停止と再開を切り替えた時のコールバックを設定
NoaController.OnTogglePauseResume = isPlaying => Debug.Log($"Game playing state has been changed: {isPlaying}");
// ゲーム速度変更時のコールバックを設定
NoaController.OnGameSpeedChanged = gameSpeed => Debug.Log($"Game speed has been changed: {gameSpeed}");
// コマ送りした時のコールバックを設定
NoaController.OnFrameStepping = () => Debug.Log("Frame stepping was executed.");
// ゲームの再生状態を取得
bool isGamePlaying = NoaController.IsGamePlaying;
// ツールで設定したゲーム速度を取得
float gameSpeed = NoaController.GameSpeed;
// 独自に定義したクラスを利用してアプリケーションリセット時に実行するイベントを設定
var applicationResetter = new ExampleApplicationResetter();
NoaController.SetApplicationResetCallbacks(applicationResetter);
// アプリケーションの初回シーンに遷移する
NoaController.ResetApplication();
// 独自に定義したクラスを利用してNOA Debugger関連UIの表示・非表示を切り替える時に実行するイベントを設定
var noaDebuggerUIVisibilityManager = new ExampleNoaDebuggerUIVisibilityManager();
NoaController.SetToggleUICallbacks(noaDebuggerUIVisibilityManager);
// NOA Debugger関連UIの表示・非表示を切り替える
NoaController.ToggleNoaDebuggerUI();
// 独自に定義したクラスを利用してスクリーンショット撮影時に実行するイベントを設定
var screenshotManager = new ExampleScreenshotManager();
NoaController.SetScreenshotCallbacks(screenshotManager);
// スクリーンショットを撮影
NoaController.CaptureScreenshot();
#endif
}
}
