Sintaxis
Parámetros
handle PFMultiplayerHandle
El identificador de la instancia de la API PFMultiplayer.
localUserCount uint32_t
El número de usuarios locales que se van a incluir en el vale.
localUsers PFEntityKey*matriz de entrada de tamaño
localUserCount
La matriz de usuarios locales que se van a incluir en el vale.
localUserAttributes char* const*matriz de entrada de tamaño
localUserCount
La matriz de cadenas de atributos de usuario local. Debe haber una cadena de atributos por cada usuario local. Cada cadena de atributos debe ser una cadena vacía o un objeto JSON serializado. Por ejemplo, {"player_color":"blue","player_role":"tank"}.
configuration PFMatchmakingTicketConfiguration*
La configuración del vale.
asyncContext void*opcional Un valor de contexto opcional del tamaño de un puntero, definido por la aplicación, que se puede usar para asociar el cambio de estado de finalización a esta llamada.
ticket PFMatchmakingTicketHandle*salida asignada por la biblioteca El objeto de vale resultante.
Valor devuelto
Tipo: HRESULTS_OK si la llamada se realizó correctamente o un código de error en caso contrario. La forma legible del código de error se puede recuperar mediante PFMultiplayerGetErrorMessage().
Comentarios
La biblioteca envía de forma automática y asincrónica todos los usuarios locales especificados en un vale al servicio de emparejamiento. Cada vez que cambia el estado del vale, se proporciona un PFMatchmakingTicketStatusChangedStateChange. El estado del vale se puede consultar en cualquier momento mediante PFMatchmakingTicketGetStatus(). El vale comienza inmediatamente en el estadoPFMatchmakingTicketStatus::Creating. Cuando el vale se completa, se proporciona un PFMatchmakingTicketStatusChangedStateChange. En ese momento, se encontró una coincidencia o el vale se detuvo debido a un error. Si se realiza correctamente, la coincidencia que se encontró se puede consultar mediante PFMatchmakingTicketGetMatch().
Si la creación del vale produce un error porque ya hay demasiados vales para los usuarios especificados, la biblioteca cancela de forma transparente esos vales pendientes y, después, vuelve a intentar la creación del vale.
No se puede encontrar una coincidencia hasta que todos los usuarios remotos especificados en el campo
membersToMatchWith del parámetro configuration se unan al vale mediante PFMultiplayerJoinMatchmakingTicketFromId().
