summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Enemy3
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Enemy3')
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3AttackScript.cs60
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3AttackScript.cs.meta12
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3BulletScript.cs32
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3BulletScript.cs.meta12
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3FireScript.cs43
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3FireScript.cs.meta12
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3HealthScript.cs34
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3HealthScript.cs.meta12
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3TriggerScript.cs35
-rwxr-xr-xAssets/Scripts/Enemy3/Enemy3TriggerScript.cs.meta12
10 files changed, 264 insertions, 0 deletions
diff --git a/Assets/Scripts/Enemy3/Enemy3AttackScript.cs b/Assets/Scripts/Enemy3/Enemy3AttackScript.cs
new file mode 100755
index 0000000..bd6048c
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3AttackScript.cs
@@ -0,0 +1,60 @@
+using UnityEngine;
+using System.Collections;
+
+public class Enemy3AttackScript : MonoBehaviour {
+
+ public bool PlayerInRange;
+ Rigidbody2D rb2d;
+ GameObject Player;
+ public Vector2 Origin;
+ Enemy3TriggerScript trigger;
+
+ //Movement
+ public float counter;
+ public float rate;
+ public bool isRight;
+
+ void Awake()
+ {
+ Player = GameObject.FindGameObjectWithTag("Player");
+ rb2d = GetComponent<Rigidbody2D>();
+ Origin = transform.position;
+ trigger = GetComponentInParent<Enemy3TriggerScript>();
+ }
+
+ void Start()
+ {
+ counter = 0;
+ rate = 100;
+ }
+
+ void Update()
+ {
+ if (PlayerInRange)
+ {
+ counter = counter + .5f;
+ if (counter >= rate)
+ {
+ counter = 0;
+ isRight = !isRight;
+ }
+ if(isRight)
+ transform.position = new Vector3(transform.position.x + .1f, transform.position.y, transform.position.z);
+ else
+ transform.position = new Vector3(transform.position.x - .1f, transform.position.y, transform.position.z);
+ //rb2d.position = Vector2.MoveTowards(rb2d.position, Player.transform.position, 0.1f);
+ }
+ else if (!PlayerInRange)
+ {
+ rb2d.position = Origin;
+ }
+ }
+
+ void OnCollisionEnter2D(Collision2D col)
+ {
+ if (col.gameObject.GetComponentInParent<PlayerHealthScript>())
+ {
+ col.gameObject.GetComponentInParent<PlayerHealthScript>().TakeDamage(10);
+ }
+ }
+}
diff --git a/Assets/Scripts/Enemy3/Enemy3AttackScript.cs.meta b/Assets/Scripts/Enemy3/Enemy3AttackScript.cs.meta
new file mode 100755
index 0000000..f22ff0c
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3AttackScript.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6745149733c47a9418d917f47105f65a
+timeCreated: 1491392656
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Enemy3/Enemy3BulletScript.cs b/Assets/Scripts/Enemy3/Enemy3BulletScript.cs
new file mode 100755
index 0000000..49ede52
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3BulletScript.cs
@@ -0,0 +1,32 @@
+using UnityEngine;
+using System.Collections;
+
+public class Enemy3BulletScript : MonoBehaviour {
+
+ bool fired;
+
+ void Start()
+ {
+ fired = false;
+ }
+
+
+ void Update()
+ {
+
+ }
+
+ void OnTriggerEnter2D(Collider2D col)
+ {
+ if (!fired)
+ {
+ var player = col.gameObject.GetComponentInParent<PlayerHealthScript>();
+ if (player != null)
+ {
+ fired = true;
+ player.TakeDamage(20f);
+ Destroy(gameObject);
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Enemy3/Enemy3BulletScript.cs.meta b/Assets/Scripts/Enemy3/Enemy3BulletScript.cs.meta
new file mode 100755
index 0000000..d87cca5
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3BulletScript.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 22cd3659d5f20084e8df95da380b2591
+timeCreated: 1491401851
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Enemy3/Enemy3FireScript.cs b/Assets/Scripts/Enemy3/Enemy3FireScript.cs
new file mode 100755
index 0000000..697cbdc
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3FireScript.cs
@@ -0,0 +1,43 @@
+using UnityEngine;
+using System.Collections;
+
+public class Enemy3FireScript : MonoBehaviour {
+
+ float FireRate = 1f;
+ float fireCounter;
+ public bool PlayerInRange;
+ public GameObject Bullet;
+ public float BulletSpeed = 20;
+
+
+ Enemy3AttackScript enemy3AttackScript;
+ AudioSource EnemyFireAudio;
+
+ void Start()
+ {
+ enemy3AttackScript = GetComponent<Enemy3AttackScript>();
+ EnemyFireAudio = GameObject.FindGameObjectWithTag("EnemyFireAudio").GetComponent<AudioSource>();
+ }
+
+ void Update()
+ {
+ fireCounter += Time.deltaTime;
+
+ if (fireCounter >= FireRate && PlayerInRange)
+ {
+ fireCounter = 0;
+ EnemyFireAudio.Play();
+ if (enemy3AttackScript.isRight)
+ Fire(1);
+ else
+ Fire(-1);
+ }
+ }
+
+ void Fire(float x)
+ {
+ var Bullet1 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet1.GetComponent<Rigidbody2D>().velocity = Vector2.right * BulletSpeed * x;
+ Destroy(Bullet1, 2f);
+ }
+}
diff --git a/Assets/Scripts/Enemy3/Enemy3FireScript.cs.meta b/Assets/Scripts/Enemy3/Enemy3FireScript.cs.meta
new file mode 100755
index 0000000..7d369de
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3FireScript.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9bfe8475ce00b474f8103e449fd649e9
+timeCreated: 1491401900
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Enemy3/Enemy3HealthScript.cs b/Assets/Scripts/Enemy3/Enemy3HealthScript.cs
new file mode 100755
index 0000000..b2d8308
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3HealthScript.cs
@@ -0,0 +1,34 @@
+using UnityEngine;
+using System.Collections;
+
+public class Enemy3HealthScript : MonoBehaviour {
+
+ public int Health = 100;
+
+ public GameObject DestroyAnimation;
+ GameObject DestroyAudio;
+
+ void Start()
+ {
+ DestroyAudio = GameObject.FindGameObjectWithTag("EnemyDestroyAudio");
+ }
+
+
+ void Update()
+ {
+
+ }
+
+ public void TakeDamage(int damage)
+ {
+ Health -= damage;
+ if (Health <= 0)
+ {
+ var animation = Instantiate(DestroyAnimation, transform.position, Quaternion.identity);
+ DestroyAudio.GetComponent<AudioSource>().Play();
+ Destroy(animation, 1f);
+ Destroy(transform.parent.gameObject);
+ }
+
+ }
+}
diff --git a/Assets/Scripts/Enemy3/Enemy3HealthScript.cs.meta b/Assets/Scripts/Enemy3/Enemy3HealthScript.cs.meta
new file mode 100755
index 0000000..5e52a96
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3HealthScript.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 35dbfbf84998db94e984290eb1c09e70
+timeCreated: 1491392581
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs b/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs
new file mode 100755
index 0000000..944dc62
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using System.Collections;
+
+public class Enemy3TriggerScript : MonoBehaviour {
+
+ Enemy3AttackScript attack;
+ Enemy3FireScript fire;
+
+ void Start()
+ {
+ attack = GetComponentInChildren<Enemy3AttackScript>();
+ fire = GetComponentInChildren<Enemy3FireScript>();
+ }
+
+
+ void Update()
+ {
+ }
+
+ void OnTriggerStay2D(Collider2D col)
+ {
+ if (col.tag == "PlayerCollider")
+ {
+ fire.PlayerInRange = attack.PlayerInRange = true;
+ }
+ }
+
+ void OnTriggerExit2D(Collider2D col)
+ {
+ if (col.tag == "PlayerCollider")
+ {
+ fire.PlayerInRange = attack.PlayerInRange = false;
+ }
+ }
+}
diff --git a/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs.meta b/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs.meta
new file mode 100755
index 0000000..68f2b1a
--- /dev/null
+++ b/Assets/Scripts/Enemy3/Enemy3TriggerScript.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f40a9b1a293616e45b3024edffbb71d5
+timeCreated: 1491393459
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: