PFMultiplayerCreateMatchmakingTicket
1 人以上のローカル ユーザーのマッチメイキング チケットを作成します。
構文
HRESULT PFMultiplayerCreateMatchmakingTicket(
PFMultiplayerHandle handle,
uint32_t localUserCount,
const PFEntityKey* localUsers,
const char* const* localUserAttributes,
const PFMatchmakingTicketConfiguration* configuration,
void* asyncContext,
PFMatchmakingTicketHandle* ticket
)
パラメーター
handle
PFMultiplayerHandle
PFMultiplayer API インスタンスのハンドル。
localUserCount
uint32_t
チケットに含めるローカル ユーザーの数。
localUsers
PFEntityKey*
サイズ localUserCount
の入力配列
チケットに含めるローカル ユーザーの配列。
localUserAttributes
char* const*
サイズ localUserCount
の入力配列
ローカル ユーザー属性文字列の配列。 ローカル ユーザーごとに 1 つの属性文字列が必要です。 各属性文字列は、空の文字列またはシリアル化された JSON オブジェクトである必要があります。 たとえば、{"player_color":"blue","player_role":"tank"}
などです。
configuration
PFMatchmakingTicketConfiguration*
チケット構成。
asyncContext
void*
オプション
完了状態の変更をこの呼び出しに関連付けるために使用できる、オプションの、アプリによって定義されたポインター サイズのコンテキスト値。
ticket
PFMatchmakingTicketHandle*
ライブラリに割り当てられた出力
結果のチケット オブジェクト。
戻り値
型: HRESULT
呼び出しが成功した場合は S_OK
、それ以外の場合はエラー コードになります。 人間が読める形式のエラー コードは、PartyManager::GetErrorMessage() を介して取得できます。
解説
ライブラリは、チケットで指定されたすべてのローカル ユーザーをマッチメイキング サービスに自動的かつ非同期的に送信します。 チケットの状態が変更されるたびに、PFMatchmakingTicketStatusChangedStateChange が提供されます。 チケットの状態は、PFMatchmakingTicketGetStatus() を介していつでも照会できます。 チケットは直ちに PFMatchmakingTicketStatus::Creating
状態で開始されます。
チケットが完了すると、PFMatchmakingTicketStatusChangedStateChange が提供されます。 その時点で、一致が見つかったか、失敗のためにチケットが停止しました。 成功した場合、見つかった一致は PFMatchmakingTicketGetMatch() を介して照会できます。
指定されたユーザーのチケットが既に多すぎるためにチケットの作成に失敗した場合、ライブラリは未処理のチケットを透過的にキャンセルし、チケットの作成を再試行します。
configuration
パラメーターの membersToMatchWith
フィールドで指定されたすべてのリモート ユーザーが PFMultiplayerJoinMatchmakingTicketFromId() を介してチケットに参加するまで、一致が見つかりません。
要件
ヘッダー: PFMatchmaking.h