Esempio n. 1
0
        public void Initialize(ChromaTowerRenderer towerRenderer)
        {
            ChromaTower tower = towerRenderer.tower;

            towerRenderer.OnBallColorUpdate += UpdateGradient;
            tower.OnGameOver += () => { UpdateGradient(Color.black); };
        }
Esempio n. 2
0
        public void ChromaTower_GameStart_ShouldStartIdle()
        {
            IScoreKeeper scoreKeeper = new PlayerPrefScoreKeeper();
            IPlayerState playerState = new PlayerState(new PlayerHPStaticRate());
            IDifficulty  difficulty  = new Difficulty(playerState);

            ChromaTower tower = new ChromaTower(scoreKeeper, playerState, difficulty);

            Assert.AreEqual(tower.GameState, GameState.Idle);
        }
Esempio n. 3
0
        public void Initialize(ChromaTowerRenderer towerRenderer)
        {
            tower = towerRenderer.tower;
            towerRenderer.OnBallColorUpdate += UpdateHPBarColor;

            tower.OnNewGame  += () => { Fade(PanelVisibility.Visible); };
            tower.OnGameOver += () => { Fade(PanelVisibility.Hidden); };
            tower.OnHit      += UpdateUI;
            tower.OnNewGame  += UpdateUI;
        }
Esempio n. 4
0
        public void Initialize(ChromaTowerRenderer towerRenderer)
        {
            ChromaTower tower = towerRenderer.tower;

            difficulty = tower.difficulty;

            towerRenderer.OnBallColorUpdate += GetBallColor;
            tower.OnSuccessfulHit           += SuccessVignette;
            tower.OnNewGame += () => { Hide(true); };
            tower.OnDamage  += DamageFlash;
        }
Esempio n. 5
0
        public void ChromaTower_HitCheck_GameShouldEndOnZeroHP()
        {
            IScoreKeeper scoreKeeper = new PlayerPrefScoreKeeper();
            IPlayerState playerState = new PlayerState(new PlayerHPStaticRate(100, 0.5f, 0.5f));
            IDifficulty  difficulty  = new Difficulty(playerState);

            ChromaTower tower = new ChromaTower(scoreKeeper, playerState, difficulty);

            tower.HitCheck(1, 2); //50% left
            tower.HitCheck(1, 2); //0% left

            Assert.AreEqual(tower.GameState, GameState.GameOver);
        }
Esempio n. 6
0
        private void PrepareEngine()
        {
            playerHealth = new PlayerHPStaticRate(maxHP: playerMaxHP,
                                                  damageRate: damageRate,
                                                  regenRate: regenRate);

            playerState = new PlayerState(playerHealth);
            scoreKeeper = new PlayerPrefScoreKeeper();
            difficulty  = new Difficulty(playerState: playerState,
                                         maxSlots: colorCount,
                                         introPlatforms: introPlatformCount,
                                         almostDeadLimit: nearDeathRatio);

            tower = new ChromaTower(scoreKeeper, playerState, difficulty);
        }
Esempio n. 7
0
 public void Initialize(ChromaTower tower)
 {
     this.tower            = tower;
     this.tower.OnNewGame += () =>
     {
         Fade(PanelVisibility.Hidden);
     };
     this.tower.OnGameOver += () =>
     {
         UpdateHighscore();
         newGameButton.SwitchToReplayLabel();
         Fade(PanelVisibility.Visible);
     };
     UpdateHighscore();
 }
Esempio n. 8
0
        public void ChromaTower_HitCheck_PlayerShouldTakeDamageOnDifferentColor()
        {
            IScoreKeeper scoreKeeper = new PlayerPrefScoreKeeper();
            IPlayerState playerState = new PlayerState(new PlayerHPStaticRate());
            IDifficulty  difficulty  = new Difficulty(playerState);

            ChromaTower tower    = new ChromaTower(scoreKeeper, playerState, difficulty);
            int         hpBefore = playerState.HP;

            tower.HitCheck(1, 2);

            int hpAfter = playerState.HP;

            Assert.Greater(hpBefore, hpAfter);
        }
Esempio n. 9
0
        public void ChromaTower_HitCheck_PlayerShouldRegenHPOnSameColor()
        {
            IScoreKeeper scoreKeeper = new PlayerPrefScoreKeeper();
            IPlayerState playerState = new PlayerState(new PlayerHPStaticRate());
            IDifficulty  difficulty  = new Difficulty(playerState);

            ChromaTower tower = new ChromaTower(scoreKeeper, playerState, difficulty);

            tower.HitCheck(1, 2); //take damage
            int hpBefore = playerState.HP;

            tower.HitCheck(1, 1); //regen
            int hpAfter = playerState.HP;

            Assert.Less(hpBefore, hpAfter);
        }
Esempio n. 10
0
 public void SetTower(ChromaTower tower)
 {
     this.tower            = tower;
     this.tower.OnNewGame += StartGame;
 }