我一直在两台设备上测试我的回合制游戏应用程序.当设备1对等(通过刷卡和删除GKTurnBasedMatchmakerViewController比赛),它更新设备2表明,比赛已经完成(但它仍然显示GKTurnBasedMatchmakerViewController的比赛是其他玩家的回合),但设备1不更新!
它说,在根据游戏结束部分端匹配GKTurnBasedMatchmakerViewController,但是他说,"没有结果",并从苹果documentary-参与者的结果还没有确定,但(通常是因为比赛仍在进行中).
我想知道如何将其设置为其他东西,以及通过这种方式退出调用(假设)的方法.
提前致谢.
- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController playerQuitForMatch:(GKTurnBasedMatch *)match {
if ([match.currentParticipant.playerID isEqualToString:[GKLocalPlayer localPlayer].playerID]) {
[match participantQuitInTurnWithOutcome:GKTurnBasedMatchOutcomeQuit nextParticipants:nextParticipant turnTimeout:GKTurnTimeoutNone matchData:data completionHandler:^(NSError *error) {
[match removeWithCompletionHandler:^(NSError *error) {
//Player quitted and match removed
}];
}];
}
else {
[match participantQuitOutOfTurnWithOutcome:GKTurnBasedMatchOutcomeQuit withCompletionHandler:^(NSError *error) {
[match removeWithCompletionHandler:^(NSError *error) {
//Player quitted and match removed
}];
}];
}
}
Run Code Online (Sandbox Code Playgroud)
对于设备2
-(void)handleTurnEventForMatch:(GKTurnBasedMatch *)match {
if (player2.matchOutcome==GKTurnBasedMatchOutcomeQuit){
//Your opponent quitted do something
}
}
Run Code Online (Sandbox Code Playgroud)