gpg:: SnapshotManager
#include <snapshot_manager.h>
さまざまなスナップショット関連データを取得および設定します。
概要
アプリが認証時にスナップショットを有効にしていない場合(GameServices::Builder::EnableSnapshots を参照)、SnapshotManager
のほとんどのメソッドは失敗します。
パブリック タイプ |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
CommitResponse を受信するコールバック タイプを定義します。 |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
FetchAllResponse を受信するコールバック タイプを定義します。 |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
MaxSizeResponse を受信するコールバック タイプを定義します。 |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
OpenResponse を受信するコールバック タイプを定義します。 |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
ReadResponse を受信するコールバック タイプを定義します。 |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
ShowSelectUIOperation から SnapshotSelectUIResponse を受信できるコールバックを定義します。 |
パブリック関数 |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
指定されたデータをスナップショットに非同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
指定されたデータをスナップショットに同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
指定されたデータをスナップショットに同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
Delete(const SnapshotMetadata & snapshot_metadata)
|
void
指定されたスナップショットを削除します。
|
FetchAll(FetchAllCallback callback)
|
void
現在ログインしているプレーヤーのすべてのスナップショット データを非同期で読み込みます。
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
現在ログインしているプレーヤーのすべてのスナップショット データを非同期で読み込みます。
|
FetchAllBlocking()
|
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、
FetchAllResponse を直接返します。 |
FetchAllBlocking(DataSource data_source)
|
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、
FetchAllResponse を直接返します。 |
FetchAllBlocking(Timeout timeout)
|
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、
FetchAllResponse を直接返します。 |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、
FetchAllResponse を直接返します。 |
GetMaxSize(MaxSizeCallback callback) const
|
void
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で非同期的に取得します。
|
GetMaxSizeBlocking() const
|
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で同期的に取得し、
MaxSizeResponse を直接返します。 |
GetMaxSizeBlocking(Timeout timeout) const
|
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で同期的に取得し、
MaxSizeResponse を直接返します。 |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
指定された名前のスナップショットを非同期的に開きます。
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source は無視されます。代わりに Open(file_name, conflict_policy, callback) を使用してください。指定された名前のスナップショットを非同期的に開きます。 |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
指定された名前のスナップショットを同期的に開きます。
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
指定された名前のスナップショットを同期的に開きます。
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
非推奨。
data_source は無視されます。代わりに OpenBlocking(file_name, conflict_policy) を使用してください。指定された名前のスナップショットを同期的に開きます。 |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
非推奨。
data_source は無視されます。代わりに OpenBlocking(timeout, file_name, conflict_policy) を使用してください。指定された名前のスナップショットを同期的に開きます。 |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
ディスクからスナップショットを非同期で読み取り、メモリにコピーします。
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
指定されたスナップショットのデータを使用して、競合を非同期的に解決します。
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
|
void
指定されたデータを使用して競合を非同期で解決します。
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
指定されたスナップショットのデータを使用して、競合を同期的に解決します。
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
指定されたデータを使用して競合を同期的に解決します。
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
指定されたスナップショットのデータを使用して、競合を同期的に解決します。
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
指定されたデータを使用して競合を同期的に解決します。
|
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
|
void
スナップショット UI を非同期的に表示し、プレーヤーがスナップショットを選択したり、新しいスナップショットをリクエストしたりできるようにします。
|
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
ShowSelectUIOperation のブロック バージョン。
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
デフォルトのタイムアウトが 10 年になる ShowSelectUIOperationBlocking のオーバーロード。
|
構造体 |
|
---|---|
gpg:: |
更新されたスナップショットのデータとレスポンス ステータスを保持します。 |
gpg:: |
すべてのスナップショットのすべてのデータとレスポンス ステータスを保持します。 |
gpg:: |
スナップショット データとスナップショットのカバー画像の最大サイズを保持します。 |
gpg:: |
リクエストされた特定のスナップショットのデータとレスポンス ステータスを保持します。 |
gpg:: |
スナップショット読み取りオペレーションから返されたレスポンス ステータスとスナップショット データを読み取ります。 |
gpg:: |
|
パブリック タイプ
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
CommitResponse
を受信するコールバック タイプを定義します。
このコールバック タイプは、以下の Commit(*)
関数と ResolveConflict(*)
関数に提供されます。
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
FetchAllResponse
を受信するコールバック タイプを定義します。
このコールバック タイプは、以下の FetchAll(*)
関数に提供されます。
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
MaxSizeResponse
を受信するコールバック タイプを定義します。
このコールバック タイプは GetMaxSize に提供されます。
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
OpenResponse
を受信するコールバック タイプを定義します。
このコールバック タイプは、以下の Open(*)
関数に提供されます。
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
ReadResponse
を受信するコールバック タイプを定義します。
このコールバック タイプは、以下の Read(*)
関数に提供されます。
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
ShowSelectUIOperation
から SnapshotSelectUIResponse
を受信できるコールバックを定義します。
パブリック関数
commit
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
指定されたデータをスナップショットに非同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
オペレーションの完了時に指定された CommitCallback
を呼び出します。
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
指定されたデータをスナップショットに同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
指定されたデータをスナップショットに同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
timeout
はミリ秒単位で指定します。
削除
void Delete( const SnapshotMetadata & snapshot_metadata )
指定されたスナップショットを削除します。
これにより、ローカルとサーバーの両方でスナップショットのデータが削除されます。
FetchAll
void FetchAll( FetchAllCallback callback )
現在ログインしているプレーヤーのすべてのスナップショット データを非同期で読み込みます。
オペレーションの完了時に指定された FetchAllCallback
を呼び出します。data_source
を指定しない場合、この関数呼び出しは、data_source
が CACHE_OR_NETWORK.
として指定された FetchAll(DataSource data_source, FetchAllCallback callback)
の呼び出しと同等になります。
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
現在ログインしているプレーヤーのすべてのスナップショット データを非同期で読み込みます。
オペレーションの完了時に指定された FetchAllCallback
を呼び出します。data_source
は CACHE_OR_NETWORK
または NETWORK_ONLY
として指定します。
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
data_source
も timeout
も指定しない場合、この関数呼び出しは、data_source
を CACHE_OR_NETWORK
に、timeout
を 10 年に指定して FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
を呼び出すことと同じになります。
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
data_source
は CACHE_OR_NETWORK
または NETWORK_ONLY
として指定します。timeout
を指定しない場合、この関数呼び出しは、指定した data_source
値と timeout
が 10 年として指定された FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
の呼び出しと同じになります。
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
timeout
はミリ秒単位で指定します。data_source
を指定しない場合、この関数呼び出しは FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
を呼び出す場合と同じになります。この場合、data_source
は CACHE_OR_NETWORK
として指定され、timeout
には指定した値が含まれます。
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
data_source
は CACHE_OR_NETWORK
または NETWORK_ONLY
として指定します。timeout
はミリ秒単位で指定します。
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で非同期的に取得します。
オペレーションの完了時に指定された MaxSizeCallback
を呼び出します。
スナップショットあたりの最大データサイズは 3 MB 以上です。今後増加する可能性があります。
スナップショットのカバー画像あたりの最大データサイズは 800 KB 以上です。今後、この上限は引き上げられる可能性があります。
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で同期的に取得し、MaxSizeResponse
を直接返します。
スナップショットあたりの最大データサイズは 3 MB 以上です。今後増加する可能性があります。
スナップショットのカバー画像あたりの最大データサイズは 800 KB 以上です。今後、この上限は引き上げられる可能性があります。
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
スナップショットあたりの最大データサイズと最大カバー画像サイズをバイト単位で同期的に取得し、MaxSizeResponse
を直接返します。
スナップショットあたりの最大データサイズは 3 MB 以上です。今後増加する可能性があります。
スナップショットのカバー画像あたりの最大データサイズは 800 KB 以上です。今後増加する可能性があります。
timeout
はミリ秒単位で指定します。
開く
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
指定された名前のスナップショットを非同期的に開きます。
指定されたスナップショットがまだ存在しない場合は作成されます。オペレーションの完了時に指定された OpenCallback
を呼び出します。
スナップショット名は、URL で予約されていない 1 ~ 100 文字(a ~ z、A ~ Z、0 ~ 9、または「-」、「.」、「_」、「~」の記号)にする必要があります。
現在のデバイスでスナップショットの読み込みと commit の間に別のデバイスがスナップショットを commit すると、競合が発生する可能性があります。これらの競合を解決する必要があります。競合の詳細については、上記の OpenResponse をご覧ください。
conflict_policy
は、次のいずれかの値です。
SnapshotConflictPolicy::MANUAL
- 競合が発生した場合、レスポンスの状態は OpenResponse::VALID_WITH_CONFLICT
になります。SnapshotManager::ResolveConflict
を使用して競合を解決する必要があります。1 行に複数の競合が表示される可能性があるため、Open
を呼び出すたびに確認します。競合が表示されるのはこのポリシーのみです。残りは自動的に解決されます。このポリシーにより、セーブ ゲームの状態に対するユーザーの変更が失われることはありません。
SnapshotConflictPolicy::LONGEST_PLAYTIME
- 競合が発生した場合は、再生時間の値が最も大きいスナップショットが使用されます。このポリシーは、プレイ時間の長さが「最適な」セーブゲームの妥当な代用となる場合に適しています。このポリシーが有効になるようにゲームを保存する場合は、SnapshotMetadataChange::Builder::SetPlayedTime()
を使用する必要があります。
SnapshotConflictPolicy::LAST_KNOWN_GOOD
- 競合が発生した場合は、ベース スナップショットが使用されます。このポリシーは、ゲームでスナップショット データの安定性が必要な場合に適しています。このポリシーにより、競合していない書き込みのみがプレーヤーに表示されるため、すべてのクライアントが収束することが保証されます。注: 以前は SnapshotManager::BASE_WINS
でした
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
- 競合が発生した場合は、リモコンが使用されます。このポリシーは、複数のデバイスでプレーヤーが独自の変更をオーバーライドしても問題ないゲームに適しています。このポリシーでは最新のデータが盲目的に選択されるため、プレーヤーの変更が失われる可能性があります。注: 以前は SnapshotManager::REMOTE_WINS
でした
SnapshotConflictPolicy::HIGHEST_PROGRESS
競合が発生した場合は、進行状況の値が最も高いスナップショットが使用されます。同点の場合は、最後に正常に動作したスナップショットが選択されます。このポリシーは、ゲームでスナップショットの進行状況の値を使用して最適な保存済みゲームを決定する場合に適しています。このポリシーが有効になるようにゲームを保存する場合は、SnapshotMetadataChange::Builder::SetPlayedTime()
を使用する必要があります。
開く
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
指定された名前のスナップショットを非同期的に開きます。
非推奨。
data_source
は無視されます。代わりに Open(file_name, conflict_policy, callback)
を使用してください。
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
指定された名前のスナップショットを同期的に開きます。
非推奨。
data_source
は無視されます。代わりに OpenBlocking(file_name, conflict_policy)
を使用してください。
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
指定された名前のスナップショットを同期的に開きます。
非推奨。
data_source
は無視されます。代わりに OpenBlocking(timeout, file_name, conflict_policy)
を使用してください。
読み取り
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
ディスクからスナップショットを非同期で読み取り、メモリにコピーします。
データは値で返されるため、簡単に変更できます。この関数を呼び出すたびに、完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取るのが最適です。オペレーションの完了時に指定された ReadCallback
を呼び出します。
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
データは値で返されるため、簡単に変更できます。この関数を呼び出すたびに、完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取ることをおすすめします。timeout
を指定しない場合、この関数呼び出しは、timeout
が 10 年として指定された ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
の呼び出しと同等になります。
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
データは値で返されるため、簡単に変更できます。この関数を呼び出すたびに完全な読み取りが行われるため、通常はスナップショットを 1 回だけ読み取ります。timeout
はミリ秒単位で指定します。
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
指定されたスナップショットのデータを使用して、競合を非同期的に解決します。
これにより、サーバー上のデータが指定されたスナップショットに置き換えられます。この操作自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
オペレーションの完了時に指定された OpenCallback
を呼び出します。
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
指定されたデータを使用して競合を非同期で解決します。
これにより、サーバーのデータを指定されたメタデータ変更と contents
に置き換えます。このオペレーション自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、現在サーバーに存在するバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えないようにしてください。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
オペレーションの完了時に指定された OpenCallback
を呼び出します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
指定されたスナップショットのデータを使用して、競合を同期的に解決します。
これにより、サーバーのデータを指定したスナップショットに置き換えます。このオペレーション自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
指定されたデータを使用して競合を同期的に解決します。
これにより、サーバーのデータを指定されたメタデータ変更と contents
に置き換えます。このオペレーション自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、サーバーに現在存在するバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えないようにしてください。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
指定されたスナップショットのデータを使用して、競合を同期的に解決します。
これにより、サーバーのデータを指定したスナップショットに置き換えます。このオペレーション自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットでこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
timeout
はミリ秒単位で指定します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
指定されたデータを使用して競合を同期的に解決します。
これにより、サーバーのデータを指定されたメタデータ変更と contents
に置き換えます。このオペレーション自体が競合を引き起こす可能性があり、その場合は解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、現在サーバーに存在するバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えないようにしてください。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
timeout
はミリ秒単位で指定します。
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
スナップショット UI を非同期的に表示し、プレーヤーがスナップショットを選択したり、新しいスナップショットをリクエストしたりできるようにします。
完了すると、選択したスナップショットまたは新しいスナップショット リクエストが SnapshotSelectUICallback
を介して返されます。
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperation のブロック バージョン。
呼び出し元がタイムアウトをミリ秒単位で指定できます。指定された時間が経過すると、関数は ERROR_TIMEOUT
を返します。
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
デフォルトのタイムアウトが 10 年になる ShowSelectUIOperationBlocking のオーバーロード。