構文
パラメーター
handle PFMultiplayerHandle
PFMultiplayer API インスタンスのハンドルです。
localUserCount uint32_t
チケットに参加するローカル ユーザーの数です。
localUsers PFEntityKey*サイズ
localUserCount の入力配列
チケットに参加させるローカル ユーザーの配列です。
localUserAttributes char*サイズ
localUserCount の入力配列
ローカル ユーザー属性文字列の配列です。ローカル ユーザーごとに 1 つの属性文字列を指定する必要があります。各属性文字列は、空の文字列またはシリアル化された JSON オブジェクトのいずれかである必要があります。例: {"player_color":"blue","player_role":"tank"}。
ticketId char*null 終端です 参加するチケットの ID です。
queueName char*null 終端です チケットが属するキューです。
asyncContext void*省略可能 この呼び出しに完了状態の変更を関連付けるために使用できる、オプションでアプリ定義のポインター サイズのコンテキスト値です。
ticket PFMatchmakingTicketHandle*ライブラリ割り当ての出力 結果として得られるチケット オブジェクトです。
戻り値
型: HRESULT 呼び出しが成功した場合はS_OK、それ以外の場合はエラー コード。エラー コードを人間が読める形式で取得するには、PFMultiplayerGetErrorMessage() を使用します。
解説
ライブラリは、指定されたすべてのローカル ユーザーを自動的かつ非同期にマッチメイキング サービス上のチケットに参加させます。チケットのステータスが変わるたびに PFMatchmakingTicketStatusChangedStateChange が提供されます。チケットのステータスは PFMatchmakingTicketGetStatus() からいつでもクエリできます。チケットは最初にPFMatchmakingTicketStatus::Joining 状態から開始します。チケットが完了すると、PFMatchmakingTicketStatusChangedStateChange が提供されます。この時点で、マッチが見つかったか、失敗によりチケットが停止したかのいずれかです。成功した場合、見つかったマッチは PFMatchmakingTicketGetMatch() からクエリできます。
指定されたユーザーに対して既にチケットが多すぎるためにチケット作成が失敗した場合、透過的にそれら未処理のチケットをキャンセルし、その後チケット作成を再試行します。
