Hello i know if have asked a lot of questions on this but how can i get rid of this transform.localPosition; and just have it spawn normal with out the need movement of the runner?
using UnityEngine;
using System.Collections.Generic;
public class PlatformManager : MonoBehaviour {
public Transform prefab;
public int numberOfObjects;
public float recycleOffset;
public Vector3 minSize, maxSize, minGap, maxGap;
public float minY, maxY;
private Vector3 nextPosition;
private Queue<Transform> objectQueue;
void Start () {
objectQueue = new Queue<Transform>(numberOfObjects);
for(int i = 0; i < numberOfObjects; i++){
objectQueue.Enqueue((Transform)Instantiate(prefab));
}
nextPosition = transform.localPosition;
for(int i = 0; i < numberOfObjects; i++){
Recycle();
}
}
public int maxNumberOfObjects = 40; //Or whatever
public float spawnDelay = 10f; //Delay between new ones
float lastTime = 0;
void Update () {
if(objectQueue.Count < maxNumberOfObjects && Time.time - lastTime > spawnDelay)
{
Transform newOne;
lastTime = Time.time;
objectQueue.Enqueue(newOne = (Transform)Instantiate(prefab));
newOne.gameObject.SetActiveRecursively(false);
}
if(objectQueue.Peek() == null)
{
Transform newOne;
objectQueue.Dequeue();
objectQueue.Enqueue(newOne = (Transform)Instantiate(prefab));
newOne.gameObject.SetActiveRecursively(false);
nextPosition = transform.localPosition;
}
if(objectQueue.Peek().gameObject.active == false || objectQueue.Peek().localPosition.x + recycleOffset < Runner.distanceTraveled) {
Recycle();
}
}
}}