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

            if (enemies.Count == 0)
            {
                AllEnemiesDead = true;
                AllEnemiesKilled?.Invoke(this);
            }
        }