private void OnEnemyKilled() { if (_enemies.Capacity == 0) { AllEnemiesKilled?.Invoke(); } }
private void OnKillableDead(KillableEvent obj) { _enemiesSpawned.Remove(obj.gameObject); if (_enemiesSpawnedTotalCount == _maxEnemies && _enemiesSpawned.Count == 0) { AllEnemiesKilled?.Invoke(); } }
void RemoveEnemy(Enemy enemy) { enemy.OnReachedPathEnd -= OnEnemyReachedPathEnd; enemy.OnDeath -= OnEnemyDeath; enemy.Destroy(); enemies.Remove(enemy); if (enemies.Count == 0) { AllEnemiesDead = true; AllEnemiesKilled?.Invoke(this); } }