我正在尝试使用GameKit在回合制比赛中实现聊天功能。我想我可以通过呼叫[match endTurnWithNextParticipant:match.currentParticipant matchData:dataWithUpdatedChat completionHandler:...]
发送消息
换言之,当我想发送聊天信息时,我会结束当前玩家的回合,这样数据就会发送到游戏中心,但接下来是当前玩家,这样他就可以正常进行了。
然而,如果不轮到当前玩家,我没有办法更新比赛数据。有办法做到这一点吗?
不,没有办法做到这一点。如果有,玩家之间很容易出现竞争情况。您需要另一项服务来实现聊天功能。另一个选项是在游戏中实现有限的聊天,例如在回合结束时输入消息的选项。
以下方法已添加到iOS 6.0中的GKTurnBasedMatch
中,可以满足您的需要:
- (void)saveCurrentTurnWithMatchData:(NSData *)matchData
completionHandler:(void (^)(NSError *error))completionHandler
"更新比赛数据而不将比赛推进到另一名玩家"