IEnumerator path() { while (currentPos.y > endPos.y) { float addDistance = UnityEngine.Random.Range(minObsDistance, maxObsDistance); float line = lines[UnityEngine.Random.Range(0, lines.Count)]; currentPos = new Vector3(line, currentPos.y - addDistance, currentPos.z); if (currentPos.y <= endPos.y) { break; } GameObject newObs = pool.SpawnFromPool("Bird", currentPos) as GameObject; calledObjects.Add(newObs); yield return(null); } }