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
  • NoaDownloadCallbacks

NoaDownloadCallbacks

ダウンロードに関連するイベントを設定します。

NoaDownloadCallbacksを継承したクラスをNOA Debuggerの公開プロパティに引き渡すことで、ダウンロードに関連するイベントをカスタマイズできます。

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

Methods

メソッド名説明
OnBeforeDownload(info)ダウンロード処理の前に実行するメソッドです。
引数と返り値はどちらも後述のNoaDownloadInfoです。
値を編集して返した場合はNOA Debuggerのダウンロード処理とOnAfterDownloadに反映します。
OnAfterDownload(info, status)ダウンロード処理の後に実行するメソッドです。
NOA Debuggerのダウンロード処理を実行しなかった場合でもこのメソッドは実行します。

Properties

プロパティ名説明
IsAllowBaseDownloadNOA Debuggerのダウンロード処理を実行するかを判断します。
デフォルトはtrueで、falseに変更した場合はダウンロード処理を実行しません。

関連する型

INoaDownloadCallbacks

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

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

NoaDownloadInfo

NoaDownloadCallbacks内のメソッド全般で使用する、ダウンロードに関連する情報を保持する構造体です。

パラメータ名説明
FileName拡張子を含んだダウンロードファイル名です。
Jsonダウンロードファイルの中身となるテキストです。

NoaDownloadStatus

OnAfterDownloadの引数で使用する、ダウンロード処理の結果を表す列挙型です。

要素名説明
SucceededNOA Debuggerのダウンロードが成功した時のステータスです。
※Web環境のみ、ダウンロードの終了検知ができないためこのステータスで返します。
Failedエラーやキャンセルなど、なんらかの理由でNOA Debuggerのダウンロードに失敗した時のステータスです。
NotExecutedNOA Debuggerのダウンロードを実行しなかった時のステータスです。

サンプルコード

#if NOA_DEBUGGER
using NoaDebugger;
using UnityEngine;

// NOA Debuggerのダウンロード処理前後にイベントを実行する場合の例
public class ExampleDownloader : NoaDownloadCallbacks
{
    public override NoaDownloadInfo OnBeforeDownload(NoaDownloadInfo info)
    {
        // ダウンロードするファイル名を編集
        info.FileName = $"Sample-{info.FileName}";

        // ダウンロードするテキストをログ出力
        Debug.Log(info.Json);

        return info;
    }

    public override void OnAfterDownload(NoaDownloadInfo info, NoaDownloadStatus status)
    {
        // ダウンロード後のステータスに合わせた処理を実行
        // info.FileNameはOnBeforeDownloadで編集した値になります
        switch (status)
        {
            case NoaDownloadStatus.Succeeded:
                Debug.Log($"Download succeeded: {info.FileName}");
                break;

            case NoaDownloadStatus.Failed:
                Debug.LogError($"Download failed: {info.FileName}");
                break;
        }
    }
}

// NOA Debuggerのダウンロード処理を実行せず、独自のダウンロード処理を実行する場合の例
public class ExampleOriginalDownloader : NoaDownloadCallbacks
{
    // IsAllowBaseDownloadをfalseに設定することでNOA Debuggerのダウンロード処理を拒否
    public override bool IsAllowBaseDownload => false;

    public override NoaDownloadInfo OnBeforeDownload(NoaDownloadInfo info)
    {
        // 独自の処理を実行
        AppendToFile(info.Json);

        return info;
    }

    void AppendToFile(string jsonText)
    {
        // ダウンロードの代わりにローカルファイルに追記する例
        string filePath = System.IO.Path.Combine(Application.persistentDataPath, "log.txt");
        System.IO.File.AppendAllText(filePath, jsonText + "\n");
    }

}

// 独自のフラグでNOA Debuggerのダウンロード処理の実行有無を制御する場合の例
public class ExampleSwitchableDownloader : NoaDownloadCallbacks
{
    bool isAllowBaseDownload = true;
    public override bool IsAllowBaseDownload => isAllowBaseDownload;

    public override NoaDownloadInfo OnBeforeDownload(NoaDownloadInfo info)
    {
        // ダウンロードテキストが比較的短い場合ダウンロードの代わりにログ出力を行う例
        if (info.Json.Length < 500)
        {
            Debug.Log(info.Json);
            isAllowBaseDownload = false;
        }

        return info;
    }
}
#endif

リンク集

関連機能

  • Informationについて
  • Snapshotについて
  • ConsoleLogについて
  • APILogについて
  • データのダウンロードについて

使用クラス

  • NoaInformation
  • NoaSnapshot
  • NoaConsoleLog
  • NoaApiLog