using UnityEngine; using System.Collections; public class MovingObject{ public DirectionEnum direction; //-1 or 1; public Transform transform; public MovingObject(DirectionEnum dir, Transform trans) { direction = dir; transform = trans; } } [System.Serializable] public enum DirectionEnum{left = -1, right= 1} public class ObjectSpawner : MonoBehaviour { public Transform objectPrefab; public DirectionEnum spawnDirection = DirectionEnum.right; public static ObjectSpawner SP; private float farLeft; private float farRight; private float lastSpawnTime; private float spawnInterval; void Awake () { SP = this; spawnInterval = Random.Range(3.5f, 5.5f); lastSpawnTime = Time.time + Random.Range(0.0f, 1.5f); } void Update () { //Spawn new object.. if ((lastSpawnTime + spawnInterval) < Time.time) { SpawnObject(); } } void SpawnObject() { lastSpawnTime = Time.time; spawnInterval *= 0.99f;//Speed up spawning DirectionEnum direction = spawnDirection; //-1 or 1 Transform newObj = (Transform)Instantiate(objectPrefab, transform.position, transform.rotation); MovingObject movObj = new MovingObject(direction, newObj); GameManager.SP.AddTarget( movObj ); } }