diff options
Diffstat (limited to 'td/Assets/Scripts/Enemy.cs')
-rw-r--r-- | td/Assets/Scripts/Enemy.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/td/Assets/Scripts/Enemy.cs b/td/Assets/Scripts/Enemy.cs new file mode 100644 index 0000000..7273370 --- /dev/null +++ b/td/Assets/Scripts/Enemy.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Enemy : MonoBehaviour { + + public float speed; + public float initialHp; + public Transform pathWay; + + List<Vector3> waypoints = new List<Vector3>(); + Vector3 waypointPos; + int waypointNum = -1; // Using minus one so that first addition returns 0, first element in array + + void Start () { + foreach (Transform child in pathWay) { + waypoints.Add (child.position); + } + } + + void Update () { + updateWaypoint (); + + float transformStep = speed * Time.deltaTime; + transform.position = Vector3.MoveTowards (transform.position, waypointPos, transformStep); + + if (waypointNum == waypoints.Count - 1) { + Destroy (gameObject); + } + } + + void updateWaypoint() { + if ( (transform.position == waypointPos && waypointNum < waypoints.Count - 1) || waypointNum == -1) { + waypointNum++; + waypointPos = new Vector3 (waypoints [waypointNum].x, 0.604f, waypoints [waypointNum].z); + } + } + +} |