/// <summary> /// Displays the iOS matchmaker to the player. /// </summary> /// <remarks> /// Note this is not overloaded in derived classes on purpose. This is /// only a reason this exists is for caching effects. /// </remarks> /// <param name="minPlayers">Minimum players to find</param> /// <param name="maxPlayers">Maximum players to find</param> /// <param name="playersToInvite">Players to invite/param> public static void ShowMatchMaker(int minPlayers, int maxPlayers, string[] playersToInvite) { AssertInitialised(); if ((Gamer.SignedInGamers.Count > 0) && (Gamer.SignedInGamers[0].IsSignedInToLive)) { // Lazy load it if (matchmakerViewController == null) { matchmakerViewController = new GKMatchmakerViewController(new GKMatchRequest()); } if (matchmakerViewController != null) { matchmakerViewController.MatchRequest.MinPlayers = minPlayers; matchmakerViewController.MatchRequest.MaxPlayers = maxPlayers; matchmakerViewController.MatchRequest.PlayersToInvite = playersToInvite; matchmakerViewController.DidFailWithError += delegate(object sender, GKErrorEventArgs e) { matchmakerViewController.DismissModalViewControllerAnimated(true); IsVisible = false; TouchPanel.EnabledGestures = prevGestures; }; matchmakerViewController.DidFindMatch += delegate(object sender, GKMatchEventArgs e) { Guide.Match = e.Match; }; matchmakerViewController.DidFindPlayers += delegate(object sender, GKPlayersEventArgs e) { }; matchmakerViewController.WasCancelled += delegate(object sender, EventArgs e) { matchmakerViewController.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(matchmakerViewController, true); IsVisible = true; } } } }
public static void ShowMatchMaker() { if ((Gamer.SignedInGamers.Count > 0) && (Gamer.SignedInGamers[0].IsSignedInToLive)) { // Lazy load it if (matchmakerViewController == null) { matchmakerViewController = new GKMatchmakerViewController(); } if (matchmakerViewController != null) { matchmakerViewController.DidFailWithError += delegate(object sender, GKErrorEventArgs e) { matchmakerViewController.DismissModalViewControllerAnimated(true); isVisible = false; TouchPanel.EnabledGestures = prevGestures; }; matchmakerViewController.DidFindMatch += delegate(object sender, GKMatchEventArgs e) { }; matchmakerViewController.DidFindPlayers += delegate(object sender, GKPlayersEventArgs e) { }; matchmakerViewController.WasCancelled += delegate(object sender, EventArgs e) { matchmakerViewController.DismissModalViewControllerAnimated(true); isVisible = false; TouchPanel.EnabledGestures = prevGestures; }; if (Window != null) { if (viewController == null) { viewController = new GameVc(); Window.Add(viewController.View); viewController.View.Hidden = true; } prevGestures = TouchPanel.EnabledGestures; TouchPanel.EnabledGestures = GestureType.None; viewController.PresentModalViewController(matchmakerViewController, true); isVisible = true; } } } }