diff options
author | miakata <miakata@gmail.com> | 2019-04-27 18:08:27 +0200 |
---|---|---|
committer | miakata <miakata@gmail.com> | 2019-04-27 18:08:27 +0200 |
commit | a5df3253047945b54a5ec25c3661b2c4967460e7 (patch) | |
tree | c5b42f3f39c2a65aa644d8d51542ee983a60edfd /nGJ2019/Assets/Scripts/ObstacleSpawner.cs | |
parent | 7568372af43405a0d2b1d1a3adb7f817527098db (diff) | |
parent | 53a8d342ee667d1b28c1dc1e173ad73338a930b9 (diff) |
Merge branch 'master' of https://github.com/marcinzelent/ngj2019
Diffstat (limited to 'nGJ2019/Assets/Scripts/ObstacleSpawner.cs')
-rw-r--r-- | nGJ2019/Assets/Scripts/ObstacleSpawner.cs | 98 |
1 files changed, 60 insertions, 38 deletions
diff --git a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs index 102df97..f438e85 100644 --- a/nGJ2019/Assets/Scripts/ObstacleSpawner.cs +++ b/nGJ2019/Assets/Scripts/ObstacleSpawner.cs @@ -4,47 +4,69 @@ 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 Messenger messenger; + + 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.Add(30, 0, ObstacleType.rockJaws); + + 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)); + } + + public EventTimeline GetEventTimeline() + { + return timeline; + } } |