aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'nGJ2019/Assets/Scripts/ObstacleSpawner.cs')
-rw-r--r--nGJ2019/Assets/Scripts/ObstacleSpawner.cs110
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;
+ }
}