Skip to main content
使用票证 ID 和队列名称将一个或多个本地用户加入到匹配票证。

语法

参数

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() 查询找到的匹配。

如果票证创建失败是因为指定用户的票证过多,将透明地取消这些未完成的票证,然后重试票证创建。

要求

头文件: PFMatchmaking.h

另请参阅

PFMatchmaking 成员
最后修改于 2026年8月13日