Player Data Storage Sample

Player Data Storage サンプルの概要です。

4 分で読めます

始める前に

サンプル アプリケーションは実演目的のため Epic Account Services を使用してローカル ユーザーの認証を行います。SDK の初期化に使用したクライアント資格情報が Epic Account Services に使用する アプリケーション に割り当てられていることが要求されます。

このサンプルでデモを行う SDK 機能は、ユーザー認証用にサポートされたどの ID プロバイダーとも使用することができます。

サンプルを活用する

Player Data Storage サンプル は、ユーザー アカウントに関連付けられているクラウド ストレージ用のシンプルなファイル エクスプローラです。アカウントを使用してログインまたはログアウトできます。ログイン中は、アカウントに関連付けられているファイルのブラウズやアップロード、ダウンロード、複製や削除を行うことができます。

Player Data パネル

Player Data Storage サンプルは、ユーザー インターフェースの右にある [Player Data] パネルを表示させてホスト アドレスと (デベロッパー認証ツール の) ユーザー資格情報を入力し、[Log In] ボタンをクリックすると開始します。

ログインすると、ユーザー アカウントに関連付けられているファイルがある場合、[Player Data] パネルにファイルのリストが表示されます。そして、[Log In] ボタンが [Log Out] ボタンに変化し、パネルの最上部にあるボタンが有効になります。次の機能が利用可能です。

  • Save:編集中のファイルのコンテンツをクラウドにアップロードします。変更を保存しないでプログラムを閉じると、変更は失われます。
  • Download:選択したファイルをローカル キャッシュにダウンロードし、テキスト エディタで開きます。この操作により、保存していない変更は破棄されます。
  • Duplicate:選択したファイルをコピーします。コピーされたファイルは、オリジナルと同じファイル名で末尾に「_Copy」が追加され、ファイルのリストに表示されます。
  • Delete:選択したファイルをクラウドから削除します。
  • Refresh:ファイルのリストを更新しますが、ファイルはダウンロードしません。

Console パネル

コンソール コマンドの結果を含むプログラム操作によるログ出力が、ユーザー インターフェースの左下に位置する [Console] パネルの最上部にあるテキスト エリアに表示されます。[Player Data] パネルのボタンをクリックするだけでなく、[Console] パネルの下部にコンソール コマンドを入力することもできます。

サポートされているコマンドは次のとおりです。

コマンド引数ビヘイビア
ADDFILEFILE_NAME」という名前の空のファイルを作成してアップロード、またはローカル ディスクのファイルをアップロードします (「FILE_DATA_PATH」を指定した場合)
GETFILEFILE_NAME指定したファイルをクラウドからダウンロードします
DUPFILESOURCE_FILE_NAME, DESTINATION_FILE_NAMESOURCE_FILE_NAME をコピーして 「DESTINATION_FILE_NAME」という名前の新しいファイルを作成します
TESTFILEFILE_NAME, FILE_PATHPlayer Data Storage インターフェース から FILE_NAME を取得し、FILE_PATH にあるローカルの暗号化されていないファイルとコンテンツを比較します
HELP(なし)上記のすべてのコマンドに関するヘルプ情報をコンソール出力に表示します。

Game.cpp の「Game::CreateConsoleCommands」関数に独自のコンソール コマンドを追加できます。

File パネル

[File] パネルには ([Player Data] パネルで) 現在選択されているファイルのコンテンツが表示されます。[Player Data] パネルまたは[Console] パネルのファイルを保存およびアップロードする前に、このウィンドウでファイルのコンテンツを編集できます。

Progress Bar ウィンドウ

Player Data Storage サンプルが実行するファイル転送操作は非同期です。これらの操作の実行中、サンプルは [Progress Bar] ウィンドウを表示します。このポップアップ ウィンドウにはプログレス バーと [Cancel (キャンセル)] ボタンが表示されます。ユーザーは [Cancel] をクリックすると転送を中断できます。サンプルは一度に 1 つのファイル転送操作しか実行できませんが、Player Data Storage インターフェースは一度に複数の転送操作をサポートしています。

ソース コードを活用する

データ ファイルとやり取りするコードの多くは、「Samples/PlayerDataStorage/Source/PlayerDataStorage.cpp」にあります。次の関数は、Player Data Storage インターフェース と直接やり取りします。

関数名ビヘイビア
QueryListプレイヤー データ エントリのリストを更新します。
StartFileDataDownload指定したファイルのコンテンツを取得します。
StartFileDataUpload指定したファイルのコンテンツをクラウドに送信します。
AddFile新規ファイルをアップロード、または既存ファイルを上書きします。
CopyFileファイルのコピーを作成します。
RemoveFileファイルを削除し、関連するローカル キャッシュ データを消去します。
CancelCurrentTransfer現在のファイル転送をキャンセルします (実行中の場合)。

これらの関数は Player Data Storage インターフェースを直接使用しませんが、ローカル システム上の関連するデータとやり取りします。それらは、ファイルについてローカルでキャッシュされる情報を管理するために独自のシステムをビルドする際の基本的なガイドとして役立ちます。

関数名ビヘイビア
GetFileListローカル ファイルのリストを返します。
SetFileListローカル ファイルのリストを設定します。
GetLocalData指定したファイルについてローカルでキャッシュされたデータを返します。ローカルで利用可能なデータがない場合、NoData フラグが「true」に設定されます。
SetLocalData指定したファイルのローカル データを設定します。
EraseLocalData指定したファイルのローカル データを消去します (存在する場合)。