Passer au contenu principal
Crée un ticket de matchmaking pour un ou plusieurs utilisateurs locaux.

Syntaxe

Paramètres

handle   PFMultiplayerHandle Handle de l’instance de l’API PFMultiplayer. localUserCount   uint32_t Nombre d’utilisateurs locaux à inclure dans le ticket. localUsers   PFEntityKey*
tableau d’entrée de taille localUserCount
Tableau des utilisateurs locaux à inclure dans le ticket. localUserAttributes   char* const*
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"}. configuration   PFMatchmakingTicketConfiguration* Configuration du 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 de retour

Type : HRESULT S_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 au moyen de PFMultiplayerGetErrorMessage().

Remarques

La bibliothèque soumet automatiquement et de façon asynchrone tous les utilisateurs locaux spécifiés d’un ticket au service de matchmaking. Chaque fois que l’état du ticket change, un PFMatchmakingTicketStatusChangedStateChange est fourni. L’état du ticket peut être interrogé à tout moment au moyen de PFMatchmakingTicketGetStatus(). Le ticket démarre immédiatement à l’état PFMatchmakingTicketStatus::Creating.

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 au moyen de 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 façon transparente ces tickets en attente, puis retente la création du ticket.

Aucune partie ne peut être trouvée tant que tous les utilisateurs distants spécifiés dans le champ membersToMatchWith du paramètre configuration n’ont pas rejoint le ticket au moyen de PFMultiplayerJoinMatchmakingTicketFromId().

Configuration requise

En-tête : PFMatchmaking.h

Voir aussi

Membres de PFMatchmaking
Dernière modification le 8 octobre 2026