Freigeben über


PFMultiplayerJoinMatchmakingTicketFromId

Verknüpft einen oder mehrere lokale Benutzer mit einem Matchmaking-Ticket unter Verwendung einer Ticket-ID und eines Warteschlangennamens.

Syntax

HRESULT PFMultiplayerJoinMatchmakingTicketFromId(  
    PFMultiplayerHandle handle,  
    uint32_t localUserCount,  
    const PFEntityKey* localUsers,  
    const char* localUserAttributes,  
    const char* ticketId,  
    const char* queueName,  
    void* asyncContext,  
    PFMatchmakingTicketHandle* ticket  
)  

Parameter

handle PFMultiplayerHandle

Das Handle der PFMultiplayer-API instance.

localUserCount uint32_t

Die Anzahl der lokalen Benutzer, die dem Ticket beitreten.

localUsers PFEntityKey*
Eingabearray der Größe localUserCount

Das Array der lokalen Benutzer, die dem Ticket beitreten sollen.

localUserAttributes Char*
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"}.

ticketId Char*
ist NULL-terminiert.

Die ID des Tickets, dem sie beitreten möchten.

queueName Char*
ist NULL-terminiert.

Die Warteschlange, zu der das Ticket gehört.

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, um dem Ticket im Matchmaking-Dienst beizutreten. 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::Joining 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 das diese ausstehenden Tickets transparent und wiederholt dann die Ticketerstellung.

Voraussetzungen

Header: PFMatchmaking.h

Weitere Informationen

PFMatchmaking-Mitglieder