Пример #1
0
        public void Initialize(ChromaTowerRenderer towerRenderer)
        {
            ChromaTower tower = towerRenderer.tower;

            towerRenderer.OnBallColorUpdate += UpdateGradient;
            tower.OnGameOver += () => { UpdateGradient(Color.black); };
        }
Пример #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);
        }
Пример #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;
        }
Пример #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;
        }
Пример #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);
        }
Пример #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);
        }
Пример #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();
 }
Пример #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);
        }
Пример #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);
        }
Пример #10
0
 public void SetTower(ChromaTower tower)
 {
     this.tower            = tower;
     this.tower.OnNewGame += StartGame;
 }