RootViewController.h
Change the interface to make it a leaderboard delegate:
@interface RootViewController : UIViewController <GKGameCenterControllerDelegate>
RootViewController.m
Add these:
@interface RootViewController : UIViewController
- (void) showLeaderBoard {
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != NULL)
{
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
[self presentViewController: gameCenterController animated: YES completion:nil];
}
[gameCenterController release];
}
- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)leaderboardController
{
[self dismissViewControllerAnimated:YES completion:nil];
}
Then, to call it, you just include
if ([GKLocalPlayer localPlayer].authenticated == YES) {
UIViewController* rootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
[rootVC showLeaderBoard];
};
#import <GameKit/GameKit.h>
No comments:
Post a Comment