Example #1
0
    // Update is called once per frame
    void Update()
    {
        spawnTime -= Time.deltaTime;

        if (spawnTime <= 0)
        {
            Vector3 spawnPoint = volume.SpawnPoint();

            for (int i = 0; i < spawnedInstances.Count; i++)
            {
                if (spawnedInstances[i] == null)
                {
                    spawnedInstances.RemoveAt(i);
                    i--;
                }
            }

            if (spawnedInstances.Count < maximumSpawns)
            {
                spawnedInstances.Add(Instantiate(instantiable, spawnPoint, new Quaternion()));
            }

            spawnTime += Random.Range(spawnTimer - spawnTimerRange, spawnTimer + spawnTimerRange);
        }
    }