private int CheckSpeciesAmount(SpeciesSet species) { int speciesAmount = 0; GameObject[] allDinosaurs = GameObject.FindGameObjectsWithTag("Dino"); foreach (GameObject dino in allDinosaurs) { if (dino.GetComponent <DinoBase>().speciesName == species.speciesPrefab.GetComponent <DinoBase>().speciesName) { speciesAmount++; } } return(speciesAmount); }
private void SpawnSpecies(SpeciesSet species, bool inScreen = false) { int amountToSpawn = (int)Random.Range(species.spawnBurst.x, species.spawnBurst.y); for (int i = 0; i < amountToSpawn; i++) { if (species.amountAlive >= species.speciesMinMax.y) { break; } bool shouldBeChild = Random.value < species.childChange; Vector3 spawnPosition = Vector3.zero; if (!inScreen) { if (Random.value < 0.5f) { spawnPosition = new Vector3(Random.Range(minSpawnTransfromRight.position.x, maxSpawnTransfromRight.position.x), minSpawnTransfromRight.position.y); } else { spawnPosition = new Vector3(Random.Range(minSpawnTransfromLeft.position.x, maxSpawnTransfromLeft.position.x), minSpawnTransfromLeft.position.y); } } else { spawnPosition = new Vector3(Random.Range(maxSpawnTransfromLeft.position.x, minSpawnTransfromRight.position.x), minSpawnTransfromLeft.position.y); } GameObject dinoObject = Instantiate(species.speciesPrefab, spawnPosition, Quaternion.identity); DinoBase dinoBase = dinoObject.GetComponent <DinoBase>(); dinoBase.Init(shouldBeChild); species.amountAlive += 1; } }