コード例 #1
0
    // <summary>
    // Draws the current state of the game to the screen.
    // </summary>
    // <remarks>
    // What is drawn depends upon the state of the game.
    // </remarks>
    public static void DrawScreen()
    {
        UtilityFunctions.DrawBackground();
        switch (CurrentState)
        {
        case GameState.ViewingMainMenu:
            MenuController.DrawMainMenu();
            break;

        case GameState.ViewingGameMenu:
            MenuController.DrawGameMenu();
            break;

        case GameState.AlteringSettings:
            MenuController.DrawSettings();
            break;

        case GameState.ViewingHowTo:
            HowToController.DrawHowTo();
            break;

        case GameState.Deploying:
            DeploymentController.DrawDeployment();
            break;

        case GameState.Discovering:
            DiscoveryController.DrawDiscovery();
            break;

        case GameState.EndingGame:
            EndingGameController.DrawEndOfGame();
            break;

        case GameState.ViewingHighScores:
            HighScoreController.DrawHighScores();
            break;
        }
        UtilityFunctions.DrawAnimations();
        SwinGame.RefreshScreen(30);
    }
コード例 #2
0
    // <summary>
    // Handles the user SwinGame.
    // </summary>
    // <remarks>
    // Reads key and mouse input and converts these into
    // actions for the game to perform. The actions
    // performed depend upon the state of the game.
    // </remarks>
    public static void HandleUserInput()
    {
        // Read incoming input events
        SwinGame.ProcessEvents();
        switch (CurrentState)   // read state
        {
        case GameState.ViewingMainMenu:
            MenuController.HandleMainMenuInput();
            break;

        case GameState.ViewingGameMenu:
            MenuController.HandleGameMenuInput();
            break;

        case GameState.AlteringSettings:
            MenuController.HandleSetupMenuInput();
            break;

        case GameState.Deploying:
            DeploymentController.HandleDeploymentInput();
            break;

        case GameState.Discovering:
            DiscoveryController.HandleDiscoveryInput();
            break;

        case GameState.EndingGame:
            EndingGameController.HandleEndOfGameInput();
            break;

        case GameState.ViewingHighScores:
            HighScoreController.HandleHighScoreInput();
            break;

        case GameState.ViewingHowTo:
            HowToController.HandleHowToInput();
            break;
        }
        UtilityFunctions.UpdateAnimations(); // animate the state
    }