예제 #1
0
    void GameOverState()
    {
        SoundManager.PlayGameOverSound();

        ScoreInfo scoreInfo = new ScoreInfo();

        scoreInfo.Score           = 0f;
        scoreInfo.ScoreMultiplier = currentScoreMultiplier;
        scoreInfo.BurnRate        = fuseBurnRateMultiplier;
        scoreInfo.PathLength      = placedTiles.Count;

        scoreInfo.OpenConnections = math.max(1, placedTiles.Sum(e => e.NodeBase.CountOpenPorts()));
        scoreInfo.ConnectionsMade = (int)math.ceil(placedTiles.Sum(e => e.NodeBase.CountUsedPorts()) / 2f);

        scoreInfo.CalculateScore();

        UIManager.ShowGameOverUI(scoreInfo);

        currentGameState = GameState.GameOver;
    }