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); }
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 }