NoaSnapshot
このクラスを介して、Snapshot機能が保持しているログを取得やログのキャプチャ、ログの一括削除と経過時間リセットなどの制御をスクリプトから実行できます。
API一覧
Static Methods
| API | 説明 |
|---|---|
| ClearLogsAndTimer() | ログを一括削除し経過時間をリセットします。 |
| CaptureLog(label, backgroundColor, hasNoaProfilerInfo, additionalInfo) | ログをキャプチャします。 ログに設定するラベルや背景色、NOA Debuggerが提供しているプロファイラ情報保持の有無、追加情報をパラメータとして指定します。 |
| SetDownloadCallbacks(callbacks) | 独自のクラスを作成して引数にすることでダウンロード関連のイベントを設定します。 引数に関する詳しい内容はNoaDownloadCallbacksを参照してください。 |
Static Properties
| API | 説明 |
|---|---|
| LogList | 保持しているログ情報の一覧を返します。 |
| OnLogCopied | ログをクリップボードにコピーした時に実行するイベントです。 |
サンプルコード
using System.Collections.Generic;
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
#endif
public class Example
{
void ExampleMethod()
{
#if NOA_DEBUGGER
// Snapshot機能が保持しているログ情報の一覧を取得
List<SnapshotLogRecordInformation> snapshotLogList = NoaSnapshot.LogList;
// ログの一括削除と経過時間をリセット
NoaSnapshot.ClearLogsAndTimer();
// ログをキャプチャ
NoaSnapshot.CaptureLog("label", NoaSnapshot.BgColor.Blue, hasNoaProfilerInfo: true);
// 追加情報のDictionary作成
var additionalInfo = new Dictionary<string,NoaSnapshotCategory>();
// カテゴリを指定しないで追加情報を設定
var category = new NoaSnapshotCategory();
// カテゴリ毎の要素1
var categoryItem1 = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue",
color: NoaSnapshot.FontColor.Black
);
category.Add(categoryItem1);
// カテゴリ毎の要素2
var categoryItem2 = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue2",
color: NoaSnapshot.FontColor.Black
);
// キー重複時は値と色を上書き
category.Add(categoryItem2);
// キーの指定がない場合は、Othersの項目として管理します
additionalInfo[""] = category;
// カテゴリを指定して追加情報を設定
// カテゴリ1の追加情報
var category1 = new NoaSnapshotCategory();
var category1Item = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue",
color: NoaSnapshot.FontColor.Black
);
category1.Add(category1Item);
additionalInfo["Category1"] = category1;
// 追加情報を含めてログをキャプチャ
NoaSnapshot.CaptureLog("label", NoaSnapshot.BgColor.Blue, hasNoaProfilerInfo: true, additionalInfo);
// 独自に定義したクラスを利用してダウンロード時に実行するイベントを設定
var downloader = new ExampleDownloader();
NoaSnapshot.SetDownloadCallbacks(downloader);
// ログをクリップボードにコピーした時に実行するイベントを設定
NoaSnapshot.OnLogCopied += (SnapshotLogRecordInformation log, string clipboardText) => Debug.Log($"Log copied. Clipboard: {clipboardText}");
#endif
}
}
