Пример #1
0
    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);
    }
Пример #2
0
    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;
        }
    }