Exemple #1
0
    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);
    }
Exemple #2
0
    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();
        }
    }