語法
參數
handle PFMultiplayerHandle
PFMultiplayer API 執行個體的控制代碼。
localUserCount uint32_t
要加入票證的本機使用者計數。
localUsers PFEntityKey*大小為
localUserCount 的輸入陣列
要加入票證的本機使用者陣列。
localUserAttributes char*大小為
localUserCount 的輸入陣列
本機使用者屬性字串的陣列。每個本機使用者應有一個屬性字串。每個屬性字串應為空字串或序列化的 JSON 物件。例如:{"player_color":"blue","player_role":"tank"}。
ticketId char*以 null 結尾 要加入之票證的識別碼。
queueName char*以 null 結尾 票證所屬的佇列。
asyncContext void*選用 選用的應用程式定義指標大小內容值,可用來將完成狀態變更與此呼叫建立關聯。
ticket PFMatchmakingTicketHandle*程式庫配置的輸出 產生的票證物件。
傳回值
類型:HRESULT 如果呼叫成功,則為S_OK;否則為錯誤碼。可透過 PFMultiplayerGetErrorMessage() 擷取錯誤碼的人類可讀形式。
備註
程式庫會自動以非同步方式提交所有指定的本機使用者,以在配對服務上加入票證。每次票證狀態變更時,都會提供 PFMatchmakingTicketStatusChangedStateChange。可隨時透過 PFMatchmakingTicketGetStatus() 查詢票證狀態。票證會立即以PFMatchmakingTicketStatus::Joining 狀態開始。 票證完成時,會提供 PFMatchmakingTicketStatusChangedStateChange。此時,已找到比賽或票證因失敗而停止。成功時,可透過 PFMatchmakingTicketGetMatch() 查詢找到的比賽。
如果票證建立因指定使用者已有太多票證而失敗,程式庫會以透明方式取消那些未完成的票證,然後重試建立票證。
