diff options
Diffstat (limited to 'nGJ2019/Assets/Scripts/ObstacleSpawner.cs')
-rw-r--r-- | nGJ2019/Assets/Scripts/ObstacleSpawner.cs | 110 |
1 files changed, 57 insertions, 53 deletions
diff --git a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs index 0e6b3ac..1615714 100644 --- a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs +++ b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs @@ -4,68 +4,72 @@ using UnityEngine; public class ObstacleSpawner : MonoBehaviour { - private EventTimeline timeline = new EventTimeline(); + private EventTimeline timeline = new EventTimeline(); - public GameObject caveWallsPrefab, rockTopPrefab, rockBottomPrefab, narrowPassagePrefab, rockJawsPrefab; - public LevelScrolling scrolling; + public GameObject caveWallsPrefab, rockTopPrefab, rockBottomPrefab, narrowPassagePrefab, rockJawsPrefab, netPrefab; + public LevelScrolling scrolling; - public float spawnLine; + public float spawnLine; - private void spawnOnEvent(EventTimeline.SpawnEvent e) - { - GameObject prefab = null; - - switch (e.type) + private void spawnOnEvent(EventTimeline.SpawnEvent e) { - case ObstacleType.caveWalls: - prefab = caveWallsPrefab; - break; - case ObstacleType.rockTop: - prefab = rockTopPrefab; - break; - case ObstacleType.rockBottom: - prefab = rockBottomPrefab; - break; - case ObstacleType.narrowPassage: - prefab = narrowPassagePrefab; - break; - case ObstacleType.rockJaws: - prefab = rockJawsPrefab; - break; - } + GameObject prefab = null; - var o = Instantiate(prefab, new Vector3(spawnLine, e.height, 0), Quaternion.identity); - scrolling.Obstacles.Add(o); - } + switch (e.type) + { + case ObstacleType.caveWalls: + prefab = caveWallsPrefab; + break; + case ObstacleType.rockTop: + prefab = rockTopPrefab; + break; + case ObstacleType.rockBottom: + prefab = rockBottomPrefab; + break; + case ObstacleType.narrowPassage: + prefab = narrowPassagePrefab; + break; + case ObstacleType.rockJaws: + prefab = rockJawsPrefab; + break; + case ObstacleType.net: + prefab = netPrefab; + break; + } - void Start() - { - for (int i = 0; i < 120; i += 5) - { - timeline.Add(i, 0, ObstacleType.caveWalls); + var o = Instantiate(prefab, new Vector3(spawnLine, e.position.y, e.position.z), Quaternion.identity); + scrolling.Obstacles.Add(o); } - timeline.Add(2, 2.75f, ObstacleType.rockTop); - timeline.Add(8, -2, ObstacleType.rockBottom); - timeline.Add(20, 0, ObstacleType.narrowPassage); - timeline.Add(30, 0, ObstacleType.rockJaws); - timeline.OnSpawnEvent += spawnOnEvent; - } + void Start() + { + for (int i = 0; i < 120; i += 5) + { + timeline.Add(i, new Vector3(0, 0, 0), ObstacleType.caveWalls); + } + timeline.Add(0, new Vector3(0, 2.75f, 0), ObstacleType.rockTop); + timeline.Add(6, new Vector3(0, -2, 0), ObstacleType.rockBottom); + timeline.Add(12, new Vector3(0, 0, 0), ObstacleType.narrowPassage); + timeline.Add(20, new Vector3(0, 0, 2), ObstacleType.rockJaws); + timeline.Add(25, new Vector3(0, 0.5f, 3), ObstacleType.net); + + timeline.OnSpawnEvent += spawnOnEvent; + } - // Update is called once per frame - void Update() - { - timeline.timeTick(Time.deltaTime); - } + // Update is called once per frame + void Update() + { + timeline.timeTick(Time.deltaTime); + } - void OnDrawGizmosSelected() - { - Gizmos.color = Color.green; - Gizmos.DrawLine(new Vector3(spawnLine, -10, 0), new Vector3(spawnLine, 10, 0)); - } + void OnDrawGizmosSelected() + { + Gizmos.color = Color.green; + Gizmos.DrawLine(new Vector3(spawnLine, -10, 0), new Vector3(spawnLine, 10, 0)); + } - public EventTimeline GetEventTimeline() - { - return timeline; - } + public EventTimeline GetEventTimeline() + { + return timeline; + } } |