public void BossSetUp(GameObject boss, int numEnemies) { m_BossObj = boss; //Turn on the Boss UI m_BossPanel.alpha = 0; //turn off kills required panel m_KillsPanel.alpha = 0; //clear enemy array m_Enemies.Clear(); enemyPool_.Clear(); //populate enemy array m_Enemies.Add(m_LightEmemy); m_Enemies.Add(m_MediumEmemy); GameObject bossObj = (GameObject)Instantiate(m_BossObj); m_BossObj.SetActive(false); bossPool_.Add(bossObj); Vector3 bossSpawn = new Vector3(0.0f, 8.0f, 0.0f); Quaternion spawnBossRotation = Quaternion.identity; m_BossObj.GetComponent <EnemyShip>().m_ShieldData.SetShield(m_BossObj); m_BossObj.SetActive(true); m_BossObj.transform.position = bossSpawn; m_BossObj.transform.rotation = spawnBossRotation; enemyPool_.Capacity = numEnemies; for (int i = 0; i < enemyPool_.Capacity; i++) { int randEnemy = Random.Range(0, m_Enemies.Count); GameObject obj = (GameObject)Instantiate(m_Enemies[randEnemy]); obj.SetActive(false); enemyPool_.Add(obj); } if (GameObject.FindGameObjectWithTag("Player") != null) { spawn_ = new Task(m_Waves.BossSpawner(), true); } }