private IEnumerator SpawnEnemy() { yield return(new WaitForSeconds(spawnDelay)); int i = Random.Range(0, EnemyPrefabs.Length); EnemyBase enemy = Instantiate(EnemyPrefabs[i]); Vector2 spawnLocation = new Vector2(); switch (enemy.Type) { case EnemyBase.EnemyTypes.Undefined: spawnLocation.x = maxX / 2f; spawnLocation.y = (maxY - minY) / 2f; break; case EnemyBase.EnemyTypes.Ground: spawnLocation.x = maxX / 2f; spawnLocation.y = minY; break; case EnemyBase.EnemyTypes.Air: spawnLocation.x = Random.Range(minX, maxX); spawnLocation.y = Random.Range(minY, maxY); break; default: break; } enemy.Spawn(spawnLocation); ArenaUI.SetEnemyName(enemy.GetType().ToString()); enemy.OnDeath += EnemyDefeated; }
private void Start() { ArenaUI.SetEnemyName("spawning..."); CalculateBounds(); StartCoroutine(SpawnEnemy()); }