public void NavigateToGame() { GamePageParameters parameters = new GamePageParameters(); parameters.GameMode = Constants.MultiPlayer; parameters.Role = PeerFinder.Role; parameters.ConnectedPeers = connectedPeers; parameters.PlayerCount = connectedPeers.Count; Frame.Navigate(typeof(GamePage), parameters); }
private void StompAloneClick(object sender, RoutedEventArgs e) { GamePageParameters parameters = new GamePageParameters() { GameMode = Constants.SinglePlayer, Role = PeerFinder.Role, ConnectedPeers = null, PlayerCount = 1 }; Frame.Navigate(typeof(GamePage), parameters); }
public void NavigateToGame() { GamePageParameters parameters = new GamePageParameters() { GameMode = Constants.MultiPlayer, Role = PeerFinder.Role, ConnectedPeers = connectedPeers, PlayerCount = connectedPeers.Count }; Frame.Navigate(typeof(GamePage), parameters); }
private void LoadState(object navigationParameter, Dictionary <string, object> pageState) { // Unpack the navigation parameters passed from either the Main Page (singleplayer mode) // or the Invite Players page (singlePair, multiplayer mode). GamePageParameters parameters = (GamePageParameters)navigationParameter; if (PeerFinder.Role == PeerRole.Host) { timesToTick = Constants.PlayTime * Constants.TimeUnitsPerSecond; } gameMode = parameters.GameMode; if (gameMode != Constants.SinglePlayer) { // Not for single player games. connectedPeers = parameters.ConnectedPeers; // You should only have one socket if you're a client // Regardless, update each socket's current page to the game page foreach (ConnectedPeer host in connectedPeers.Keys) { socket = connectedPeers[host]; socket.currentPage = this; socket.UpdateCurrentPageType(); } playerCount = parameters.PlayerCount; } images = new Image[Constants.GridRows, Constants.GridColumns]; random = new Random(); gameTimer = new DispatcherTimer(); gameTimer.Interval = TimeSpan.FromMilliseconds(Constants.TimeUnit); gameTimer.Tick += UpdateTimer; if (gameMode == Constants.SinglePlayer) { InitImages(); timesToTick = Constants.PlayTime * Constants.TimeUnitsPerSecond; StartGame(); } else if (gameMode == Constants.MultiPlayer) { // See what your role is. if (PeerFinder.Role == PeerRole.Host) { playerList = new Dictionary <int, string>(); playerList[0] = PeerFinder.DisplayName; playerID = 0; int counter = 1; foreach (ConnectedPeer peer in connectedPeers.Keys) { playerList[counter] = peer.DisplayName; SendParams(connectedPeers[peer], counter); counter++; } InitImages(); } } }