Esempio n. 1
0
        private void InitNextSpawn()
        {
            //randomly select the next time to spawn
            var randomDelay = randomTimeIntervalBounds.RandomRange();

            //wait that much time, then call this method
            RichTweens.InvokeAfterDelay(SpawnNextHazard, randomDelay);
        }
Esempio n. 2
0
        private void SpawnNextHazard()
        {
            //(instantiate)
            var newItem = hazardPool.Depool(
                spawnPoint.position, Quaternion.identity);

            //check if pool is exhausted.
            if (!newItem)
            {                    //pool is empty, consider raising limits
                //try again later
                InitNextSpawn(); //chain forever
                return;
            }

            //reclaim after some time (unless immortal)
            if (itemLifetime > 0)
            {
                RichTweens.InvokeAfterDelay(
                    () => hazardPool.Enpool(newItem), itemLifetime);
            }

            InitNextSpawn();//chain forever
        }