Exemple #1
0
    public IEnumerator SpawnPrefab(int prefabIndex, int tempSpawnIndex)
    {
        float counter = 0;

        while (counter != enemiesPerWave && allSpawnedPrefabs.Count != maxTotalSpawn)
        {
            GameObject    toSpawn          = prefabs[prefabIndex].prefab.gameObject;
            SpawnEntities toSpawnEntity    = prefabs[prefabIndex];
            GameObject    spawnArea        = spawnAreas[tempSpawnIndex];
            int           spawnEntityCount = allSpawnedPrefabs.Count(p =>
                                                                     (p.gameObject != null) && (p.gameObject.GetComponent <PlayerController>().ID == toSpawnEntity.prefab.GetComponent <PlayerController>().ID));

            if (allSpawnedPrefabs.Count - 1 <= maxTotalSpawn && infiniteSpawning)
            {
                if (spawnEntityCount <= toSpawnEntity.amountToSpawn)
                {
                    Spawn(toSpawn, GetRandomPoint2D(spawnArea));
                }
            }
            else if (allSpawnedPrefabs.Count - 1 <= maxTotalSpawn && !infiniteSpawning)
            {
                if (spawnEntityCount <= toSpawnEntity.amountToSpawn)
                {
                    Spawn(toSpawn, GetRandomPoint2D(spawnArea));
                }
            }
            counter++;
            yield return(new WaitForSeconds(spawnInterval));
        }
    }
Exemple #2
0
    //---------------------------------

    void Start()
    {
        //Get the components
        spawnEntities      = GetComponent <SpawnEntities>();
        checkEntitiesAlive = GetComponent <CheckEntitiesAlive>();
        openLevelDoors     = GetComponent <OpenLevelDoors>();

        //Get the gameobjects
        player = GameObject.FindGameObjectWithTag("Player");
        entityAliveObjects.Add(player);
    }
Exemple #3
0
    void ItemChooser()
    {
        int randomNum = Random.Range(randomRangeMin, randomRangeMax);

        if (randomNum >= itemChanceMin && randomNum <= itemChanceMax)
        {
            int spawnRange = Random.Range(randomRangeMin, randomRangeMax);
            if (spawnRange >= item_1Min && spawnRange <= item_1Max)
            {
                item = SpawnEntities.item_1;
            }
            else if (spawnRange >= item_2Min && spawnRange <= item_2Max)
            {
                item = SpawnEntities.item_2;
            }
            else if (spawnRange >= item_3Min && spawnRange <= item_3Max)
            {
                item = SpawnEntities.item_3;
            }
            else if (spawnRange >= item_4Min && spawnRange <= item_4Max)
            {
                item = SpawnEntities.item_4;
            }
        }
        else if (randomNum >= enemyChanceMin && randomNum <= enemyChanceMax)
        {
            int enemyChoice = Random.Range(0, numberOfEnemies);

            if (enemyChoice == 0)
            {
                item = SpawnEntities.enemy_1;
            }
            else if (enemyChoice == 1)
            {
                item = SpawnEntities.enemy_2;
            }
            else if (enemyChoice == 2)
            {
                item = SpawnEntities.enemy_3;
            }
            else if (enemyChoice == 3)
            {
                item = SpawnEntities.enemy_4;
            }
        }
    }