public IEnumerator SpawnEnemies() { room.enemiesHaveSpawned = true; yield return(new WaitForSeconds(spawnWait)); room.enemySpawns = GetComponentsInChildren <Transform>(); foreach (Transform i in enemySpawns) { //Make sure not to spawn an enemy for the root, only children if (i != this.gameObject.transform && i.tag == "SpawnPoint") { int rand = Random.Range(0, 3); // Playing enemy spawn SFX FindObjectOfType <AudioManager>().Play("EnemySpawn"); // Spawning regular enemies if (!room.isBossRoom) { GameObject go = Instantiate(enemyPrefab, i.position, Quaternion.identity); go.GetComponent <Enemy>().room = gameObject; gm.ChooseElement(rand); room.roomEnemyCount++; } //Spawning boss else { GameObject go = Instantiate(enemyPrefab, i.position, Quaternion.identity); go.GetComponent <Enemy>().room = gameObject; go.GetComponent <Enemy>().isBoss = true; go.GetComponent <Memory>().enabled = true; rm.bossHealth.SetActive(true); gm.ChooseElement(rand); go.GetComponent <Enemy>().EGOBossHealth = rm.bossHealth; room.roomEnemyCount++; } } } }