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 unir al vale.
localUsers PFEntityKey*matriz de entrada de tamaño
localUserCount
La matriz de usuarios locales que se van a unir al vale.
localUserAttributes char*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"}.
ticketId char*termina en null El identificador del vale al que se va a unir.
queueName char*termina en null La cola a la que pertenece el 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 para que se unan al vale en el 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::Joining. 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, se cancelan de forma transparente esos vales pendientes y, después, se vuelve a intentar la creación del vale.
