Syntaxe
Paramètres
handle PFMultiplayerHandle
Handle de l’instance de l’API PFMultiplayer.
localUserCount uint32_t
Nombre d’utilisateurs locaux devant rejoindre le ticket.
localUsers PFEntityKey*tableau d’entrée de taille
localUserCount
Tableau des utilisateurs locaux devant rejoindre le ticket.
localUserAttributes char*tableau d’entrée de taille
localUserCount
Tableau des chaînes d’attributs des utilisateurs locaux. Il doit y avoir une chaîne d’attributs pour chaque utilisateur local. Chaque chaîne d’attributs doit être soit une chaîne vide, soit un objet JSON sérialisé. Par exemple, {"player_color":"blue","player_role":"tank"}.
ticketId char*se termine par un caractère null ID du ticket à rejoindre.
queueName char*se termine par un caractère null File d’attente à laquelle appartient le ticket.
asyncContext void*facultatif Valeur de contexte facultative, définie par l’application et de la taille d’un pointeur, qui peut être utilisée pour associer le changement d’état d’achèvement à cet appel.
ticket PFMatchmakingTicketHandle*sortie allouée par la bibliothèque Objet ticket obtenu.
Valeur renvoyée
Type : HRESULTS_OK si l’appel a réussi, ou un code d’erreur dans le cas contraire. La forme lisible du code d’erreur peut être récupérée via PFMultiplayerGetErrorMessage().
Remarques
La bibliothèque soumet automatiquement et de manière asynchrone tous les utilisateurs locaux spécifiés afin qu’ils rejoignent le ticket auprès du service de matchmaking. Chaque fois que l’état du ticket change, un PFMatchmakingTicketStatusChangedStateChange est fourni. L’état du ticket peut être interrogé à tout moment via PFMatchmakingTicketGetStatus(). Le ticket démarre immédiatement à l’étatPFMatchmakingTicketStatus::Joining. Lorsque le ticket se termine, un PFMatchmakingTicketStatusChangedStateChange est fourni. À ce stade, une partie a été trouvée ou le ticket s’est arrêté en raison d’un échec. En cas de réussite, la partie trouvée peut être interrogée via PFMatchmakingTicketGetMatch().
Si la création du ticket échoue parce qu’il existe déjà trop de tickets pour les utilisateurs spécifiés, la bibliothèque annule de manière transparente ces tickets en attente, puis retente la création du ticket.
