语法
参数
handle PFMultiplayerHandle
PFMultiplayer API 实例的句柄。
localUserCount uint32_t
要加入票证的本地用户数量。
localUsers PFEntityKey*大小为
localUserCount 的输入数组
要加入票证的本地用户数组。
localUserAttributes char*大小为
localUserCount 的输入数组
本地用户属性字符串数组。每个本地用户应有一个属性字符串。每个属性字符串应为空字符串或已序列化的 JSON 对象。例如 {"player_color":"blue","player_role":"tank"}。
ticketId char*is null-terminated 要加入的票证的 ID。
queueName char*is null-terminated 票证所属的队列。
asyncContext void*optional 可选的应用定义指针大小上下文值,可用于将完成状态变更与此调用相关联。
ticket PFMatchmakingTicketHandle*library-allocated output 生成的票证对象。
返回值
类型:HRESULT 如果调用成功,则为S_OK;否则为错误代码。可以通过 PFMultiplayerGetErrorMessage() 获取错误代码的人类可读形式。
备注
库将自动且异步地将所有指定的本地用户提交到匹配服务以加入票证。每次票证状态更改时,都会提供一个 PFMatchmakingTicketStatusChangedStateChange。可以随时通过 PFMatchmakingTicketGetStatus() 查询票证状态。票证立即从PFMatchmakingTicketStatus::Joining 状态开始。当票证完成时,将提供一个 PFMatchmakingTicketStatusChangedStateChange。此时,要么找到匹配,要么票证因失败而停止。成功时,可以通过 PFMatchmakingTicketGetMatch() 查询找到的匹配。
如果票证创建失败是因为指定用户的票证过多,将透明地取消这些未完成的票证,然后重试票证创建。
