Choose your operating system:
Windows
macOS
Linux
このドキュメントは、オンライン サブシステムを通じて使用されるさまざまなデータ構造体を定義しています。
IOnlinePlatformData
IOnlinePlatformData は全ての基本クラスなので、格納するクラスを考慮せずにデータを渡すことができるように、絶対に不透明である必要があります。 人間が読める形式のデータは、 ToString() 関数から利用出来ます。もしくは、プラットフォーム コードのみが直接データを操作します。
しばしゲームによる処理が必要とされるものの、詳細のエキスポーズは不要な、いくつかの構築のプラットフォーム固有表現があります。これにより、ゲームによってデータが保持され、詳細を理解することなしに他のマシーンへデータをレプリケートします。
IOnlinePlatformData から派生するクラスは以下の通りです。
関数
/**
* Get the raw byte representation of this opaque data
* This data is platform dependent and shouldn't be manipulated directly
* @return byte array of size GetSize()
*/
virtual const uint8* GetBytes() const = 0;
/**
* Get the size of the opaque data
* @return size in bytes of the data representation
*/
virtual int32 GetSize() const = 0;
/**
* Check the validity of the opaque data
* @return true if this is well formed data, false otherwise
*/
virtual bool IsValid() const = 0;
/**
* Get a human readable representation of the opaque data
* Shouldn't be used for anything other than logging/debugging
* @return data in string form
*/
virtual FString ToString() const = 0;
FUniqueNetId
FUniqueNetId は、プロファイル サービス オンライン ID を格納し、個人プレイヤー、フレンド、またはセッションから何でも表現します。
FSharedContentHandle
FSharedContentHandle は、プロファイルサービスの共有ファイル処理を格納します。* 適切な権限が付与されると、この処理は共有コンテンツへアクセスするためにどこからでも渡されたり使用することができます。
FSessionInfo
FSessionInfo は、セッションのプラットーフォーム固有の情報を格納します。大抵の場合、セッションID、ホストアドレス、もしくは作成されたセッションの特定や、接続を試みる別の手段です。
カスタム コリジョン チャネル の詳細は、 セッション インターフェース
FEmsFile
FEmsFile は、ダウンロードが可能な任意のファイルに関するメタデータです。* この構造体は、任意のサービスから利用可能なデータを列挙する際に使用します。
以下の要素を格納します。
-
Hash - 任意のファイル コンテンツのハッシュ値です。
-
Filename - ダウンロード時のファイル名です。
-
Logical name - ダウンロードされたファイル名とマッピングする名前です。
-
File size - ファイルサイズです。
FTitleFile
FTitleFile は、オンラインサービスからファイルを非同期ダウンロードする際に使用されるデータを格納する内部構造体です。
以下の要素を格納します。
-
Filename - ダウンロード時のファイル名です。
-
Async state - ダウンロードされたファイルのステートです ( Async States をご覧ください。)
-
Data - ファイル コンテンツを格納するバッファです。
EOnlineAsyncTaskState
EOnlineAsyncTaskState は、非同期オペレーションの可能なステートを表すシンプルな列挙型変数です。
/** The task has not been started */
NotStarted,
/** The task is currently being processed */
InProgress,
/** The task has completed successfully */
Done,
/** The task failed to complete */
Failed