aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiakata <miakata@gmail.com>2019-04-27 18:08:27 +0200
committermiakata <miakata@gmail.com>2019-04-27 18:08:27 +0200
commita5df3253047945b54a5ec25c3661b2c4967460e7 (patch)
treec5b42f3f39c2a65aa644d8d51542ee983a60edfd /nGJ2019/Assets/Scripts/ObstacleSpawner.cs
parent7568372af43405a0d2b1d1a3adb7f817527098db (diff)
parent53a8d342ee667d1b28c1dc1e173ad73338a930b9 (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.cs98
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;
+ }
}