我敢肯定有类似的问题,但我找不到一个例子。我正在尝试为我的回合制游戏重新创建苹果 GKTurnBasedMatchmakerViewController,并为我的回合制 iPhone 游戏使用我自己的自定义界面。我无法正确显示所有选项,所以我希望有人有一个工作示例。我目前的代码是这样的:
-(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 的游戏,但它包含邀请,我不知道如何将它们分开。
基本上,我希望有一个轮到我的游戏部分,一个不是我轮到我但游戏仍然活跃的部分,一个已完成的旧游戏的部分,以及一个邀请部分。有没有人有一个工作示例,或者他们可以发送给我的页面来解释我正在尝试做的最佳实践?谢谢你的帮助。