// Handles the user SwinGame. // Reads key and mouse input and converts these into // actions for the game to perform. The actions // performed depend on the current state of the game. public static void HandleUserInput() { // Read incoming input events SwinGame.ProcessEvents(); switch (CurrentState) { case GameState.ViewingMainMenu: MenuController.HandleMainMenuInput(); break; case GameState.ViewingGameMenu: MenuController.HandleGameMenuInput(); break; case GameState.AlteringSettings: MenuController.HandleSetupMenuInput(); break; case GameState.AlteringShipSettings: MenuController.HandleShipsMenuInput(); break; case GameState.Deploying: DeploymentController.HandleDeploymentInput(); break; case GameState.Discovering: DiscoveryController.HandleDiscoveryInput(); break; case GameState.ReDiscovering: _theGame.ResetGame(); DiscoveryController.HandleDiscoveryInput(); break; case GameState.EndingGame: EndingGameController.HandleEndOfGameInput(); break; case GameState.ViewingHighScores: HighScoreController.HandleHighScoreInput(); break; case GameState.ChangingThemes: MenuController.HandleThemeMenuInput(); break; } UtilityFunctions.UpdateAnimations(); }