Sintaxe
Parâmetros
handle PFMultiplayerHandle
O identificador da instância da API PFMultiplayer.
localUserCount uint32_t
A contagem de usuários locais que ingressarão no tíquete.
localUsers PFEntityKey*matriz de entrada de tamanho
localUserCount
A matriz de usuários locais que ingressarão no tíquete.
localUserAttributes char*matriz de entrada de tamanho
localUserCount
A matriz de cadeias de caracteres de atributos dos usuários locais. Deve haver uma cadeia de caracteres de atributo para cada usuário local. Cada cadeia de caracteres de atributo deve ser uma cadeia de caracteres vazia ou um objeto JSON serializado. Por exemplo, {"player_color":"blue","player_role":"tank"}.
ticketId char*terminada em nulo A ID do tíquete no qual ingressar.
queueName char*terminada em nulo A fila à qual o tíquete pertence.
asyncContext void*opcional Um valor de contexto opcional, definido pelo aplicativo e do tamanho de um ponteiro, que pode ser usado para associar a alteração de estado de conclusão a esta chamada.
ticket PFMatchmakingTicketHandle*saída alocada pela biblioteca O objeto de tíquete resultante.
Valor retornado
Tipo: HRESULTS_OK se a chamada tiver êxito ou um código de erro caso contrário. A forma legível do código de erro pode ser obtida por meio de PFMultiplayerGetErrorMessage().
Comentários
A biblioteca envia automática e assincronamente todos os usuários locais especificados para ingressar no tíquete no serviço de matchmaking. Sempre que o status do tíquete muda, uma PFMatchmakingTicketStatusChangedStateChange é fornecida. O status do tíquete pode ser consultado a qualquer momento por meio de PFMatchmakingTicketGetStatus(). O tíquete começa imediatamente no estadoPFMatchmakingTicketStatus::Joining. Quando o tíquete é concluído, uma PFMatchmakingTicketStatusChangedStateChange é fornecida. Nesse ponto, uma partida foi encontrada ou o tíquete parou devido a uma falha. Em caso de êxito, a partida encontrada pode ser consultada por meio de PFMatchmakingTicketGetMatch().
Se a criação do tíquete falhar porque já existem tíquetes demais para os usuários especificados, a biblioteca cancelará de forma transparente esses tíquetes pendentes e tentará criar o tíquete novamente.
