void OnEnemyDeadEvent(EnemyDeadEvent eve) { if (eve.EnemyController.EnemyType != EnemyController.AircraftType.BOSS) { // only count when there's no boss if (_BossCount <= 0) { _EnemyKillCount++; } } else { if (_BossCount > 0) { _BossCount--; } } if (_EnemyKillCount >= _BossAppearanceEveryKill) { _EnemyKillCount = 0; // only spawn boss if there's no boss if (_BossCount <= 0) { SpawnBoss(); // reset kill count _EnemyKillCount = 0; } } }
void OnEnemyDeadEvent(EnemyDeadEvent eve) { EnemiesCount++; if (eve.EnemyController.EnemyType == EnemyController.AircraftType.BOSS) { BossCount++; } }
public void DealDamage(int amount) { int clampedHealth = Mathf.Clamp(_currentEnemy.Health - amount, 0, _currentEnemy.MaxHealth); _currentEnemy.Health = clampedHealth; EnemyDealtDamageEvent?.Invoke(amount); if (_currentEnemy.Health <= 0) { EnemyDeadEvent?.Invoke(); } }
void OnEnemyDeadEvent(EnemyDeadEvent eve) { // spawn marker GameObject hitScoreTextObj = PoolManager.Instance.GetPool("HitScoreText").Get(); hitScoreTextObj.transform.position = eve.EnemyController.transform.position; hitScoreTextObj.SetActive(true); HitScoreText hitScoreText = hitScoreTextObj.GetComponent <HitScoreText> (); if (eve.EnemyController.EnemyType == EnemyController.AircraftType.BOSS) { hitScoreText.Show("+" + _AircraftGameController.ScorePerBoss); } else { hitScoreText.Show("+" + _AircraftGameController.ScorePerEnemy); } }
void OnEnemyDeadEvent(EnemyDeadEvent e) { KilledEnemies++; }