Sintaxe
Parâmetros
handle PFMultiplayerHandle
O identificador da instância da API PFMultiplayer.
localUserCount uint32_t
A contagem de usuários locais a serem incluídos no tíquete.
localUsers PFEntityKey*matriz de entrada de tamanho
localUserCount
A matriz de usuários locais a serem incluídos no tíquete.
localUserAttributes char* const*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"}.
configuration PFMatchmakingTicketConfiguration*
A configuração do tíquete.
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 em um tíquete ao 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::Creating. 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.
Uma partida não pode ser encontrada até que todos os usuários remotos especificados no campo
membersToMatchWith do parâmetro configuration ingressem no tíquete por meio de PFMultiplayerJoinMatchmakingTicketFromId().
