メインコンテンツまでスキップ

🚀 Scripting API (Logi Class)

Logify のすべての主要機能には、Logi クラスを通じてアクセスできます。

名前空間
using Logify;

🔹 ライフサイクル

通常、初期化は設定に基づき自動で行われますが、手動で制御することも可能です。

メソッド説明
Initialize()Logifyを手動で初期化します(Automatic モード以外で使用)。
Release()Logifyのリソースを解放します。通常は必要ありません。

💡 Tips: Automaticモードでは、Initializeを定義できません。Manualモードへの切り替えは、Settings - Activation Scopeよりご確認ください。

Logi.Initialize();

🔹 ダイアログ・UI操作

デバッグメニューやフィードバック画面をスクリプトから制御します。

メソッド説明
OpenDialog()フィードバック・デバッグメニューを開きます。
CloseDialog()開いているダイアログを閉じます。
OpenPopup(LogifyPopupSetting)独自のポップアップを表示します。
OpenToast(string, LogifyToastType)画面下部に通知(トースト)を表示します。ShowLog/Warning/Error も利用可能です。

💡 Tips: OpenToastは、ダイアログが表示されている間のみ画面上に現れます。

// ポップアップの表示
Logi.OpenPopup(new LogifyPopupSetting
{
Title = "確認",
Message = "すべてのセーブデータを削除しますか?",
ConfirmButton = new LogifyPopupButtonSetting
{
Text = "削除する",
OnClick = () => DoDelete()
},
CancelButton = new LogifyPopupButtonSetting
{
Text = "戻る"
}
});

// 通知の表示
Logi.OpenToast("データの同期が完了しました。", LogifyToastType.Information);

🔹 カスタムコマンド登録

独自のデバッグ用ボタンやコマンドを Logify メニューに追加します。

メソッド説明
Register(instance/type)指定したインスタンスやクラス内のメソッドをコマンドとして登録します。
Unregister(instance/type)登録済みのコマンドを解除します。
AddTo(instance)登録解除漏れを防ぐ事ができます。

💡 Tips: static クラスの登録にも対応していますが、推奨されません。 詳しくはStaticクラスの取り扱いをご覧ください。

登録から登録解除まで

// 登録
void Awake() => Logi.Register(this, "Tests (Instance)", 1);

// 必ず破棄時に解除が必要です
void OnDestroy() => Logi.Unregister(this);

[LogiButton("Test Button", "Execute")]
void Test() => Debug.Log("Test");
// ...

AddToの利用

// UniRxなどのObservableと同様の感覚でライフサイクルを紐付け可能
void Awake()
=> Logi.Register(this, "Tests (Instance)", 1)
.AddTo(this); // 追加

// 自動で破棄時に登録解除されるので必要なし
// void OnDestroy() => Logi.Unregister(this);
// ...

static クラスの登録

Logi.Register(typeof(TestStaticClass), "Tests (static)", 2);

🔹 ログデータの取得

メモリ上に蓄積されたログエントリへ直接アクセスします。

メソッド説明
GetLogEntries(err, warn, info)現在保持されているログのリストを取得します。独自のレポート送信ロジックを組みたい場合に有用です。

💡 Tips: リリースビルドでも利用したい場合は、設定でForce Logging In Buildを有効にしてください。

// 引数でどのログを含めるか調整できます。
List<ConsoleEntry> entries = Logi.GetLogEntries(showError: true, showWarning: true, showInfo: true);
// 配列を整形されたstringに変換できます。
var formattedString = entries.ToFormattedString();