コード例 #1
0
 public void GameOver()
 {
     ActivateGame(false);
     gameOverCanvas.gameObject.SetActive(true);
     if (highScoreController.AddHighScore(score))
     {
         highScoreText.gameObject.SetActive(true);
     }
     else
     {
         highScoreText.gameObject.SetActive(false);
     }
 }
コード例 #2
0
    /// <summary>
    /// Read the user's name for their highsSwinGame.
    /// </summary>
    /// <param name="value">the player's sSwinGame.</param>
    /// <remarks>
    /// This verifies if the score is a highsSwinGame.
    /// </remarks>
    public static void ReadHighScore(int value)
    {
        const int ENTRY_TOP = 500;

        if (_Scores.Count == 0)
        {
            LoadScores(GameController.filename);
        }


        //is it a high score
        if ((value > _Scores[_Scores.Count - 1].Value))
        {
            Score s = new Score();
            s.Value = value;

            GameController.AddNewState(GameState.AddingHighScores);

            int x = 0;
            x = SCORES_LEFT + SwinGame.TextWidth(GameResources.GameFont("Courier"), "Name: ");

            SwinGame.StartReadingText(Color.White, NAME_WIDTH, GameResources.GameFont("Courier"), x, ENTRY_TOP);

            //Read the text from the user
            while (SwinGame.ReadingText())
            {
                SwinGame.ProcessEvents();

                UtilityFunctions.DrawBackground();
                HighScoreController.AddHighScore();
                SwinGame.DrawText("Name: ", Color.White, GameResources.GameFont("Courier"), SCORES_LEFT, ENTRY_TOP);
                SwinGame.RefreshScreen();
            }

            s.Name = SwinGame.TextReadAsASCII();

            if (s.Name.Length < 3)
            {
                s.Name = s.Name + new string(Convert.ToChar(" "), 3 - s.Name.Length);
            }

            _Scores.RemoveAt(_Scores.Count - 1);
            _Scores.Add(s);
            _Scores.Sort();

            SaveScores(GameController.filename);

            GameController.EndCurrentState();
        }
    }
コード例 #3
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.Deploying:
            DeploymentController.DrawDeployment();
            break;

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

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

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

        case GameState.AddingHighScores:
            HighScoreController.AddHighScore();
            break;

        case GameState.Instructions:
            MenuController.DrawInstructions();
            break;
        }

        UtilityFunctions.DrawAnimations();

        SwinGame.RefreshScreen();
    }