// Update is called once per frame void Update() { if (player.transform.position.x > (segmentWidth * currentSegments.Count) - segmentWidth) { int randomSegmentNumber = Random.Range(0, worldSegments.Length); int randomBackgroundNumber = Random.Range(0, backgrounds.Length); GameObject newSegment = Instantiate(worldSegments[randomSegmentNumber], new Vector2(segmentWidth * currentSegments.Count, 0), Quaternion.identity); Instantiate(backgrounds[randomBackgroundNumber], new Vector3(segmentWidth * currentSegments.Count, 0, -7.61f), Quaternion.identity); currentSegments.Add(newSegment); CoinController.createCoin(newSegment.transform, coinObject[0], enemy, powerup); randomSegmentNumber = Random.Range(0, worldSegments.Length); randomBackgroundNumber = Random.Range(0, backgrounds.Length); newSegment = Instantiate(worldSegments[randomSegmentNumber], new Vector2(segmentWidth * currentSegments.Count, 0), Quaternion.identity); Instantiate(backgrounds[randomBackgroundNumber], new Vector3(segmentWidth * currentSegments.Count, 0, -7.61f), Quaternion.identity); currentSegments.Add(newSegment); CoinController.createCoin(newSegment.transform, coinObject[0], enemy, powerup); } else { //print((player.transform.position.x) + " =-= " + ((segmentWidth * currentSegments.Count) - segmentWidth)); } foreach (GameObject segment in currentSegments) { if (Vector3.Distance(segment.transform.position, player.transform.position) > 100) { segment.active = false; } } }