Exemplo n.º 1
0
        public WaveManager(IEnemyGenerator enemyGenerator, WaveConfiguration[] waveConfigurations, CoroutinesWrapper coroutinesWrapper, SignalBus bus)
        {
            this.enemyGenerator     = enemyGenerator;
            this.waveConfigurations = waveConfigurations;
            this.coroutinesWrapper  = coroutinesWrapper;

            bus.Subscribe <EnemyState.EnemyHealthChanged>(this.OnEnemyHealthChanged);
        }
Exemplo n.º 2
0
        public SpawnManager(IEnemyGenerator enemyGenerator, CoroutinesWrapper coroutinesWrapper)
        {
            this.spawnPoints = GameObject.FindGameObjectsWithTag(SpawnPointTag).Select(g => g.transform).ToArray();
            this.spawnQueue  = new Queue <GameObject>();
            coroutinesWrapper.StartCoroutine(this.WaitForSpawn());

            this.enemyGenerator = enemyGenerator;
        }
Exemplo n.º 3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        IEnemyGenerator generator = collision.gameObject.GetComponent <IEnemyGenerator>();

        if (generator != null)
        {
            generator.SpawnEnemy();
        }
    }
 public EnemyController(IEnemyGenerator enemyGenerator)
 {
     _enemyGenerator = enemyGenerator;
 }