void Start() { speed = startSpeed; bufferedEnviroment.UpdatePooledObjects(6); bufferedEnviroment.UpdatePooledObjects(4); bufferedEnviroment[0].position = new Vector3(0, width, 0); bufferedEnviroment[1].position = new Vector3(0, 0, 0); bufferedEnviroment[2].position = new Vector3(0, -width, 0); bufferedEnviroment[3].position = new Vector3(0, -width * 2, 0); lastEnviroment = bufferedEnviroment[3]; }
void Update() { if (repeatEnviroment) { for (int i = 0; i < bufferedEnviroment.bufferedCount; i++) { bufferedEnviroment[i].position.y += speed * Time.deltaTime; var temp = bufferedEnviroment[i].position; bufferedEnviroment[i].transform.localPosition = new Vector3(temp.x, temp.y, temp.z); if (temp.y >= width * 1.5 + 0.5) { bufferedEnviroment[i].position = new Vector3(0, lastEnviroment.position.y - width + speed * Time.deltaTime, 0); lastEnviroment = bufferedEnviroment[i]; } } } }
private void BufferBufferedEnviroment(BufferedEnviroment bufferedEnviroment, bool state) { bufferedEnviroment.gameObject.SetActive(state); }