aboutsummaryrefslogtreecommitdiff
path: root/td/Assets/Scripts/Projectile.cs
diff options
context:
space:
mode:
authorJakob Stendahl <JakobS1n@users.noreply.github.com>2017-10-14 23:17:09 +0200
committerGitHub <noreply@github.com>2017-10-14 23:17:09 +0200
commit8b2c937959c99ab2dfbc3eaf9dc5b9c18cf73371 (patch)
treeb775b07054de58f83cd9df41bf43e61b3facfad1 /td/Assets/Scripts/Projectile.cs
parent76cf99ade6530bdad81088295fb4cf73f5c5b118 (diff)
parentabe835d1112e4804ce63b7d2fa85f8bd76e3c237 (diff)
downloadTD-8b2c937959c99ab2dfbc3eaf9dc5b9c18cf73371.tar.gz
TD-8b2c937959c99ab2dfbc3eaf9dc5b9c18cf73371.zip
Merge pull request #4 from JakobS1n/GUI
Gui
Diffstat (limited to 'td/Assets/Scripts/Projectile.cs')
-rw-r--r--td/Assets/Scripts/Projectile.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/td/Assets/Scripts/Projectile.cs b/td/Assets/Scripts/Projectile.cs
new file mode 100644
index 0000000..3b02763
--- /dev/null
+++ b/td/Assets/Scripts/Projectile.cs
@@ -0,0 +1,43 @@
+using UnityEngine;
+
+public class Projectile : MonoBehaviour {
+
+ public float Speed = 70f;
+ public int PointsPerHit;
+ [Header("Scripting vars")]
+ public Player Player; // Reference to the player object, should be set when instantiating
+ private Transform _target;
+
+ public void Seek(Transform target) {
+ _target = target;
+ }
+
+
+ void Update () {
+
+ if (_target == null) {
+ Destroy (gameObject);
+ return;
+ }
+
+ Vector3 direction = _target.position - transform.position;
+ float distanceThisFrame = Speed * Time.deltaTime;
+
+ if (direction.magnitude <= distanceThisFrame) {
+ HitTarget ();
+ return;
+ }
+
+ transform.Translate (direction.normalized * distanceThisFrame, Space.World);
+
+
+ }
+
+ void HitTarget() {
+ WaveSpawner.EnemiesAlive--;
+ Player.ScoreAdd (PointsPerHit);
+ Destroy (_target.gameObject);
+ Destroy (gameObject);
+ }
+
+}