我确定有类似的问题,但我找不到一个例子。我正在尝试使用我自己的自定义界面为我的回合制iphone游戏重新创建苹果GKTurnBasedMatchmakerViewController用于我的回合制游戏。我无法正确显示所有选项,所以我希望有人有一个有效的例子。我目前的代码是:
-(void)getCurrentGamesFromServer {
[GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error) {
if(matches){
for (GKTurnBasedMatch *myMatch in matches) {
//this is, I believe, also where we need to consider invitations. available instance methods provided by GC are: acceptInviteWithCompletionHandler and declineInviteWithCompletionHandler
if(myMatch.status == 1){ //ongoing game
if([myMatch.currentParticipant.playerID isEqualToString:[GKLocalPlayer localPlayer].playerID]){ //if it's my turn
//here we need to populate the table by adding our matches to mcurrentgamesarray. after all the matches have been added, reload the tableview
NSLog(@"active game that is my turn");
[self.mCurrentGamesArray addObject:myMatch];
}
else{
NSLog(@"other turn or an invite from another player waiting to hear from you");
}
}
}
}
[_mCurrentGamesTableView reloadData];
}];
}
正如你所看到的,我现在唯一能抓到的游戏是状态为1(正在进行的游戏)的游戏,当前参与者ID是我的ID。
为了获得不合适的游戏,我尝试在不是我的ID的情况下进行游戏,但是它包含邀请,我无法弄清楚如何将它们分开。
基本上,我希望有一部分游戏可以轮到我,一部分不是轮到我但是游戏仍然活跃,一部分完成旧游戏,一部分是邀请。有没有人有一个工作的例子,或者他们可以发送给我的页面,它解释了我正在尝试做的最佳实践?谢谢你的帮助。