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)); } }
//--------------------------------- void Start() { //Get the components spawnEntities = GetComponent <SpawnEntities>(); checkEntitiesAlive = GetComponent <CheckEntitiesAlive>(); openLevelDoors = GetComponent <OpenLevelDoors>(); //Get the gameobjects player = GameObject.FindGameObjectWithTag("Player"); entityAliveObjects.Add(player); }
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; } } }