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