private Drone_Enemy GetAvaibleDrone() { for (int i = 0; i < enemyObjectPool.Count; i++) { if (enemyObjectPool[i].gameObject.activeSelf == false) { return(enemyObjectPool[i]); } } Drone_Enemy temp = Instantiate(enemyPrefab, spawnLocations[0].position, Quaternion.identity).GetComponent <Drone_Enemy>(); enemyObjectPool.Add(temp); return(temp); }
void Update() { if (sceneIsRestarting == false) { timeSinceLoad += Time.deltaTime; } //cant spawn more than one per frame if (hasEnemiesToSpawn == true && enemySpawnDataCopy[0].SpawnTimer <= timeSinceLoad) { //do shit //TODO Drone_Enemy temp = GetAvaibleDrone(); temp.gameObject.SetActive(true); temp.InitializeDrone(player, GetStatFromDroneType(enemySpawnDataCopy[0].enemyType), spawnLocations[enemySpawnDataCopy[0].SpawnLocationIndex].position); enemySpawnDataCopy.RemoveAt(0); if (enemySpawnDataCopy.Count == 0) { hasEnemiesToSpawn = false; } } if (hasEnemiesToSpawn == false) { foreach (Drone_Enemy m in enemyObjectPool) { if (m.gameObject.activeSelf == true) { return; } } Debug.Log("No more enemies, next level"); ElevatorController.Elevator.LoadNextScene(); } }