![](/img/trans.png)
[英]Proper GKTurnBasedMatch End Of Match When participantQuitOutOfTurnWithOutcome
[英]GKTurnBasedMatch participantQuitOutOfTurnWithOutcome
我正在研究基於回合的Game Kit游戲。 我正在為球員參與的比賽創建自定義UI。我使用
loadMatchesWithCompletionHandler:
在一個用例中,用戶在比賽中,不是輪到他們了,他們想退出並且不再在游戲列表中看到該比賽。 我的代碼調用
participantQuitOutOfTurnWithOutcome:withCompletionHandler:
並從表格視圖中刪除該行。
在這一點上,另一位玩家轉彎,看到對手已經退出
match.remoteParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit
所以他們在游戲結束時致電
endMatchInTurnWithMatchData:completionHandler:
問題是該游戲仍存在於Game Center中。 所以打電話
loadMatchesWithCompletionHandler:
在第一個玩家的應用程序上將其拉回並顯示在游戲表中。
我能想到的唯一解決方案是保存與表匹配的匹配ID和黑名單。 似乎有點笨拙。
似乎沒有針對此的API。 即退出並從我的比賽列表中刪除該比賽。 是否只有使用Game Center API才能更好地處理這種情況?
我相信您需要先將每個參與者的matchOutcome屬性設置為GKTurnBasedMatchOutcomeNone以外的其他內容,然后才能刪除匹配項。 從文檔:
調用此方法將結束所有玩家的比賽。 該方法只能由當前參與者調用。 在游戲調用此方法之前,必須將參與者屬性中存儲的每個參與者對象的matchOutcome屬性設置為GKTurnBasedMatchOutcomeNone以外的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.