实现我自己的自定义GKTurnBasedMatchmakerViewController

时间:2013-05-08 15:50:38

标签: ios objective-c game-center gkmatchmaker gkturnbasedmatch

我确定有类似的问题,但我找不到一个例子。我正在尝试使用我自己的自定义界面为我的回合制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的情况下进行游戏,但是它包含邀请,我无法弄清楚如何将它们分开。

基本上,我希望有一部分游戏可以轮到我,一部分不是轮到我但是游戏仍然活跃,一部分完成旧游戏,一部分是邀请。有没有人有一个工作的例子,或者他们可以发送给我的页面,它解释了我正在尝试做的最佳实践?谢谢你的帮助。

0 个答案:

没有答案