Freigeben über


PFMultiplayerCreateMatchmakingTicket

Erstellt ein Matchmaking-Ticket für einen oder mehrere lokale Benutzer.

Syntax

HRESULT PFMultiplayerCreateMatchmakingTicket(  
    PFMultiplayerHandle handle,  
    uint32_t localUserCount,  
    const PFEntityKey* localUsers,  
    const char* const* localUserAttributes,  
    const PFMatchmakingTicketConfiguration* configuration,  
    void* asyncContext,  
    PFMatchmakingTicketHandle* ticket  
)  

Parameter

handle PFMultiplayerHandle

Das Handle der PFMultiplayer-API instance.

localUserCount uint32_t

Die Anzahl der lokalen Benutzer, die in das Ticket eingeschlossen werden sollen.

localUsers PFEntityKey*
Eingabearray der Größe localUserCount

Das Array der lokalen Benutzer, die in das Ticket eingeschlossen werden sollen.

localUserAttributes char* const*
Eingabearray der Größe localUserCount

Das Array von lokalen Benutzerattributen. Für jeden lokalen Benutzer sollte eine Attributzeichenfolge vorhanden sein. Jede Attributzeichenfolge sollte entweder eine leere Zeichenfolge oder ein serialisiertes JSON-Objekt sein. Beispiel: {"player_color":"blue","player_role":"tank"}.

configuration PFMatchmakingTicketConfiguration*

Die Ticketkonfiguration.

asyncContext Leere*
Optional

Ein optionaler, app-definierter Kontextwert in Zeigergröße, der verwendet werden kann, um die Änderung des Abschlusszustands diesem Aufruf zuzuordnen.

ticket PFMatchmakingTicketHandle*
Bibliotheksseitig zugeordnete Ausgabe

Das resultierende Ticketobjekt.

Rückgabewert

Typ: HRESULT

S_OK , wenn der Aufruf erfolgreich war oder andernfalls ein Fehlercode vorliegt. Die lesbare Form des Fehlercodes kann über PFMultiplayerGetErrorMessage() abgerufen werden.

Hinweise

Die Bibliothek übermittelt automatisch und asynchron alle angegebenen lokalen Benutzer für ein Ticket an den Matchmaking-Dienst. Jedes Mal, wenn sich das Ticket status ändert, wird ein PFMatchmakingTicketStatusChangedStateChange bereitgestellt. Das Ticket status kann jederzeit über PFMatchmakingTicketGetStatus() abgefragt werden. Das Ticket beginnt sofort im PFMatchmakingTicketStatus::Creating Zustand.

Wenn das Ticket abgeschlossen ist, wird ein PFMatchmakingTicketStatusChangedStateChange bereitgestellt. An diesem Punkt wurde eine Übereinstimmung gefunden, oder das Ticket wurde aufgrund eines Fehlers beendet. Bei Erfolg kann die gefundene Übereinstimmung über PFMatchmakingTicketGetMatch() abgefragt werden.

Wenn die Ticketerstellung fehlschlägt, weil bereits zu viele Tickets für die angegebenen Benutzer vorhanden sind, storniert die Bibliothek diese ausstehenden Tickets transparent und wiederholt dann die Ticketerstellung.

Eine Übereinstimmung kann erst gefunden werden, wenn alle Remotebenutzer, die membersToMatchWith im Feld des configuration Parameters angegeben sind, dem Ticket über PFMultiplayerJoinMatchmakingTicketFromId() beitreten.

Voraussetzungen

Header: PFMatchmaking.h

Weitere Informationen

PFMatchmaking-Mitglieder