簡體   English   中英

GKTurnBasedMatch參與者QuitOutOfTurnWithOutcome

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM