PFMultiplayerJoinMatchmakingTicketFromId
チケット ID とキュー名を使用して、1 人以上のローカル ユーザーをマッチメイキング チケットに参加させます。
構文
HRESULT PFMultiplayerJoinMatchmakingTicketFromId(
PFMultiplayerHandle handle,
uint32_t localUserCount,
const PFEntityKey* localUsers,
const char* localUserAttributes,
const char* ticketId,
const char* queueName,
void* asyncContext,
PFMatchmakingTicketHandle* ticket
)
パラメーター
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
、それ以外の場合はエラー コードになります。 人間が読める形式のエラー コードは、PartyManager::GetErrorMessage() を介して取得できます。
解説
ライブラリは自動的かつ非同期的に、指定されたすべてのローカル ユーザーをマッチメイキング サービスのチケットに参加するように送信します。 チケットの状態が変更されるたびに、PFMatchmakingTicketStatusChangedStateChange が提供されます。 チケットの状態は、PFMatchmakingTicketGetStatus() を介していつでも照会できます。 チケットは直ちに PFMatchmakingTicketStatus::Joining
状態で開始されます。
チケットが完了すると、PFMatchmakingTicketStatusChangedStateChange が提供されます。 その時点で、一致が見つかったか、失敗のためにチケットが停止しました。 成功した場合、見つかった一致は PFMatchmakingTicketGetMatch() を介して照会できます。
指定されたユーザーのチケットが既に多すぎるためにチケットの作成が失敗した場合、それらの未処理のチケットは透過的に取り消され、チケットの作成が再試行されます。
要件
ヘッダー: PFMatchmaking.h