次の方法で共有


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

関連項目

PFMatchmaking メンバー