/// <summary> /// Shows guide view controllers, e.g., Game Center view controllers. /// In iOS 5 and older, the guide is presented using GuideViewController. /// In iOS 6+, the guide is presented using the root view controller. /// (The iOS 5 method generates runtime warnings.) /// </summary> /// <param name="viewController">The view controller to be shown, e.g., Game Center view controllers</param> private static void ShowViewController(UIViewController viewController) { if (_window != null && viewController != null) { prevGestures = TouchPanel.EnabledGestures; TouchPanel.EnabledGestures = GestureType.None; if (osVersion < 6.0d) { // Show view controller the old way for iOS 5 and older if (guideViewController == null) { guideViewController = new GuideViewController(_gameViewController); _window.Add(guideViewController.View); guideViewController.View.Hidden = true; } #pragma warning disable 618 // Disable PresentModalViewController warning, still need to support iOS 5 and older guideViewController.PresentModalViewController(viewController, true); #pragma warning restore 618 } else { // Show view controller the new way for iOS 6+ _window.RootViewController.PresentViewController(viewController, true, delegate {}); } IsVisible = true; } }
public static void ShowLeaderboard() { AssertInitialised(); if ((Gamer.SignedInGamers.Count > 0) && (Gamer.SignedInGamers[0].IsSignedInToLive)) { // Lazy load it if (leaderboardController == null) { leaderboardController = new GKLeaderboardViewController(); } if (leaderboardController != null) { leaderboardController.DidFinish += delegate(object sender, EventArgs e) { leaderboardController.DismissModalViewControllerAnimated(true); IsVisible = false; TouchPanel.EnabledGestures = prevGestures; }; if (_window != null) { if (viewController == null) { viewController = new GuideViewController(_gameViewController); _window.Add(viewController.View); viewController.View.Hidden = true; } prevGestures = TouchPanel.EnabledGestures; TouchPanel.EnabledGestures = GestureType.None; viewController.PresentModalViewController(leaderboardController, true); IsVisible = true; } } } else { UIAlertView alert = new UIAlertView("Error", "You need to be logged into Game Center to view the Leaderboard.", null, "Ok"); alert.Show(); ShowSignIn(1, true); } }