public void Initialize(ChromaTowerRenderer towerRenderer) { ChromaTower tower = towerRenderer.tower; towerRenderer.OnBallColorUpdate += UpdateGradient; tower.OnGameOver += () => { UpdateGradient(Color.black); }; }
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); }
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; }
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; }
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); }
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); }
public void Initialize(ChromaTower tower) { this.tower = tower; this.tower.OnNewGame += () => { Fade(PanelVisibility.Hidden); }; this.tower.OnGameOver += () => { UpdateHighscore(); newGameButton.SwitchToReplayLabel(); Fade(PanelVisibility.Visible); }; UpdateHighscore(); }
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); }
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); }
public void SetTower(ChromaTower tower) { this.tower = tower; this.tower.OnNewGame += StartGame; }