/// <summary> /// Responds to user input, accepting or cancelling the message box. /// </summary> public override void HandleInput(InputState input) { if (input.MenuCancel) { ExitScreen(); } if (input.MenuSelect && World.ShipManager.SelectedPlayers.Any()) { var arenaSelection = new ArenaSelectionScreen { ScreenManager = this.ScreenManager }; arenaSelection.Initialize(); ScreenManager.AddScreen(arenaSelection); } if (World.ShipManager.SelectedPlayers.Any(p => p.PlayerStringToIndex == PlayerIndex.One)) { if (input.IsNewButtonPress(Buttons.DPadUp) || input.IsNewButtonPress(Buttons.LeftThumbstickUp)) { ChangePlayerColour(PlayerIndex.One); } if (input.IsNewButtonPress(Buttons.RightShoulder)) { ChangePlayerShip(PlayerIndex.One); } } if (World.ShipManager.SelectedPlayers.Any(p => p.PlayerStringToIndex == PlayerIndex.Two)) { if (input.IsNewButtonPress(Buttons.DPadUp) || input.IsNewButtonPress(Buttons.LeftThumbstickUp)) { ChangePlayerColour(PlayerIndex.Two); } if (input.IsNewButtonPress(Buttons.RightShoulder)) { ChangePlayerShip(PlayerIndex.Two); } } if (World.ShipManager.SelectedPlayers.Any(p => p.PlayerStringToIndex == PlayerIndex.Three)) { if (input.IsNewKeyPress(Keys.W)) { ChangePlayerColour(PlayerIndex.Three); } if (input.IsNewKeyPress(Keys.Tab)) { ChangePlayerShip(PlayerIndex.Three); } } if (World.ShipManager.SelectedPlayers.Any(p => p.PlayerStringToIndex == PlayerIndex.Four)) { if (input.IsNewKeyPress(Keys.Up)) { ChangePlayerColour(PlayerIndex.Four); } if (input.IsNewKeyPress(Keys.RightAlt)) { ChangePlayerShip(PlayerIndex.Four); } } }