diff options
author | Mikkel Bybjerg <mikkel.bybjerg@hotmail.com> | 2019-04-27 14:43:34 +0200 |
---|---|---|
committer | Mikkel Bybjerg <mikkel.bybjerg@hotmail.com> | 2019-04-27 14:43:34 +0200 |
commit | 262be7cfa429a30bafec50efe8fb2154d73e2eeb (patch) | |
tree | dd136268a1392eb849bfdb65343f6f884fea9df8 /nGJ2019/Assets/Scripts/ObstacleSpawner.cs | |
parent | 9222754ebc29c533d70c283896895dfb852c3cdc (diff) | |
parent | 4f868dfa15c552cd8b436c5b78fc2254f380ce8f (diff) |
merge
Diffstat (limited to 'nGJ2019/Assets/Scripts/ObstacleSpawner.cs')
-rw-r--r-- | nGJ2019/Assets/Scripts/ObstacleSpawner.cs | 91 |
1 files changed, 53 insertions, 38 deletions
diff --git a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs index 102df97..a9d1078 100644 --- a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs +++ b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs @@ -4,47 +4,62 @@ using UnityEngine; public class ObstacleSpawner : MonoBehaviour { - private EventTimeline timeline = new EventTimeline(); - - public GameObject alfaPrefab; - public GameObject betaPrefab; - public LevelScrolling scrolling; - - public float spawnLine; - - private void spawnOnEvent(EventTimeline.SpawnEvent e) - { - GameObject prefab = null; - - if(e.type == ObstacleType.alfa) - prefab = alfaPrefab; - - if(e.type == ObstacleType.beta) - prefab = betaPrefab; - - var transformT = ((GameObject) Instantiate(prefab, new Vector3(spawnLine, e.height, 0), Quaternion.identity)).transform; - scrolling.Obstacles.Add(transformT); - } - - void Start() + private EventTimeline timeline = new EventTimeline(); + + public GameObject caveWallsPrefab, rockTopPrefab, rockBottomPrefab, narrowPassagePrefab, rockJawsPrefab; + public LevelScrolling scrolling; + + public float spawnLine; + + private void spawnOnEvent(EventTimeline.SpawnEvent e) + { + GameObject prefab = null; + + switch (e.type) { - for(int i = 0; i < 120; i += 5) - { - timeline.Add(i, 0, ObstacleType.alfa); - } - - timeline.OnSpawnEvent += spawnOnEvent; + 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; } - // Update is called once per frame - void Update() + var transformT = ((GameObject)Instantiate(prefab, new Vector3(spawnLine, e.height, 0), Quaternion.identity)).transform; + scrolling.Obstacles.Add(transformT); + } + + void Start() + { + for (int i = 0; i < 120; i += 5) { - timeline.timeTick(Time.deltaTime); + timeline.Add(i, 0, ObstacleType.caveWalls); } - - void OnDrawGizmosSelected() - { - Gizmos.color = Color.green; - Gizmos.DrawLine(new Vector3(spawnLine,-10,0), new Vector3(spawnLine,10,0)); - } + timeline.Add(2, 2.75f, ObstacleType.rockTop); + timeline.Add(8, -2, ObstacleType.rockBottom); + timeline.Add(20, 0, ObstacleType.narrowPassage); + + timeline.OnSpawnEvent += spawnOnEvent; + } + + // 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)); + } } |