このドキュメントは、オンライン サブシステムを通じて使用されるさまざまなデータ構造体を定義しています。
IOnlinePlatformData
IOnlinePlatformData は全ての基本クラスなので、格納するクラスを考慮せずにデータを渡すことができるように、絶対に不透明である必要があります。 人間が読める形式のデータは、ToString() 関数から利用出来ます。もしくは、プラットフォーム コードのみが直接データを操作します。
しばしゲームによる処理が必要とされるものの、詳細のエキスポーズは不要な、いくつかの構築のプラットフォーム固有表現があります。これにより、ゲームによってデータが保持され、詳細を理解することなしに他のマシーンへデータをレプリケートします。
IOnlinePlatformData から派生するクラスは以下の通りです。
関数
/**
* この不透明なデータの生のバイト表現を取得します
* このデータはプラットフォーム依存であり、直接操作することはできません
* @return byte array of size GetSize()
*/
virtual const uint8* GetBytes() const = 0;
/**
* 不透明なデータのサイズを取得します
* @return size in bytes of the data representation
*/
virtual int32 GetSize() const = 0;
/**
* 不透明データの妥当性をチェックします
* @return true if this is well formed data, false otherwise
*/
virtual bool IsValid() const = 0;
/**
* 不透明データの可読性を取得します
* ロギング/デバッグ以外の用途には使用しないでください。
* @return data in string form
*/
virtual FString ToString() const = 0;
FUniqueNetId
FUniqueNetId は、プロファイル サービス オンライン ID を格納し、個人プレイヤー、フレンド、またはセッションから何でも表現します。
FSharedContentHandle
FSharedContentHandle は、プロファイルサービスの共有ファイル処理を格納します。* 適切な権限が付与されると、この処理は共有コンテンツへアクセスするためにどこからでも渡されたり使用することができます。
FSessionInfo
FSessionInfo は、セッションのプラットーフォーム固有の情報を格納します。大抵の場合、セッションID、ホストアドレス、もしくは作成されたセッションの特定や、接続を試みる別の手段です。
カスタム コリジョン チャネル の詳細は、Session インターフェース
FEmsFile
FEmsFile は、ダウンロードが可能な任意のファイルに関するメタデータです。* この構造体は、任意のサービスから利用可能なデータを列挙する際に使用します。
以下の要素を格納します。
- Hash - 任意のファイル コンテンツのハッシュ値です。
- Filename - ダウンロード時のファイル名です。
- Logical name - ダウンロードされたファイル名とマッピングする名前です。
- File size - ファイルサイズです。
FTitleFile
FTitleFile は、オンラインサービスからファイルを非同期ダウンロードする際に使用されるデータを格納する内部構造体です。
以下の要素を格納します。
- Filename - ダウンロード時のファイル名です。
- Async state - ダウンロードされたファイルのステートです (Async States をご覧ください。)
- Data - ファイル コンテンツを格納するバッファです。
EOnlineAsyncTaskState
EOnlineAsyncTaskState は、非同期オペレーションの可能なステートを表すシンプルな列挙型変数です。
/** タスクが開始されていません */
NotStarted,
/** タスクは現在処理中です */
InProgress,
/** タスクは正常に終了しました */
Done,
/** タスクの完了に失敗しました */
Failed