Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

永続データ

OBS はプラグインが所有するキーと値のストアを提供しています。これを使用することで、別途設定ファイルをプロジェクトに同梱することなく、配信ごとまたはプロファイルごとの小さな状態データを記憶させることができます。値は OBS の再起動後も保持されます。

これらの関数は GetClient()->GetConfig() を通じてアクセスします。

関数

関数説明
GetPersistentData(Realm, SlotName)スロットを非同期で取得し、OnPersistentDataReceived を発火します。結果はキャッシュにも保存されます。
SetPersistentData(Realm, SlotName, SlotValueJson)JSON 値を保存します(JSON が無効な場合は false を返し、空の値を渡すとスロットがクリアされます)。
SetPersistentDataString(Realm, SlotName, Value)プレーンな文字列値を保存します。
GetCachedPersistentData(Realm, SlotName)ローカルキャッシュから以前に取得済みのスロットを読み取ります。

Realm

RealmEOBSDataRealm 型です。

スコープ
EOBSDataRealm::Globalすべての OBS プロファイルをまたいで保持されます。
EOBSDataRealm::Profile現在のプロファイルのみに保持されます。

使用例

UInhyeongOBSConfig* Config = Subsystem->GetClient()->GetConfig();

// Store a plain string in the global realm.
Config->SetPersistentDataString(
    EOBSDataRealm::Global, TEXT("LastSceneTheme"), TEXT("Cozy"));

// Fetch it back later (async, handle in OnPersistentDataReceived).
Config->GetPersistentData(EOBSDataRealm::Global, TEXT("LastSceneTheme"));

// Or read the cached value directly after a prior fetch.
FString Cached =
    Config->GetCachedPersistentData(EOBSDataRealm::Global, TEXT("LastSceneTheme"));

注意: SetPersistentData は指定した JSON が無効な場合に false を返します(その場合、何も送信されません)。空の値を渡すとスロットがクリアされます。

関連項目