Example #1
0
        public void TrySpawnEnemy()
        {
            if (enemySpawnTimer > 0f)
            {
                return;
            }

            var position = new Vector3(Random.Range(boundsMin.x, boundsMax.x), config.enemyPrefab.transform.position.y,
                                       Random.Range(boundsMin.y, boundsMax.y));
            var enemy = SpawnObject(config.enemyPrefab, position) as Enemy;

            enemy.Initialize(boundsMin, boundsMax);
            spawnedEnemies.Add(enemy);
            OnEnemiesCountChanged?.Invoke(SpawnedEnemies.Count);
            enemySpawnTimer = enemySpawnRate;
        }
Example #2
0
 private void OnEnemyDiedHandler(Enemy enemy)
 {
     SpawnedEnemies.Remove(enemy);
     OnEnemiesCountChanged?.Invoke(SpawnedEnemies.Count);
 }