summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Enemy/EnemyFireScript.cs
diff options
context:
space:
mode:
authornirav <nirav@airmail.cc>2020-12-12 07:18:36 +0000
committernirav <nirav@airmail.cc>2020-12-12 07:18:36 +0000
commit115f77bda0246a00f6e17469685c67746bdbd29d (patch)
tree4bbea1e59109bb1d1fddc71736f89289bab03073 /Assets/Scripts/Enemy/EnemyFireScript.cs
download01-master.tar.gz
01-master.zip
Initial commitHEADmaster
Diffstat (limited to 'Assets/Scripts/Enemy/EnemyFireScript.cs')
-rwxr-xr-xAssets/Scripts/Enemy/EnemyFireScript.cs90
1 files changed, 90 insertions, 0 deletions
diff --git a/Assets/Scripts/Enemy/EnemyFireScript.cs b/Assets/Scripts/Enemy/EnemyFireScript.cs
new file mode 100755
index 0000000..b267871
--- /dev/null
+++ b/Assets/Scripts/Enemy/EnemyFireScript.cs
@@ -0,0 +1,90 @@
+using UnityEngine;
+using System.Collections;
+
+public class EnemyFireScript : MonoBehaviour {
+
+ public float FireRate = 1f;
+ float fireCounter;
+ bool PlayerInRange = false;
+ bool IsBulletTopDown = true;
+ public GameObject Bullet;
+ public float BulletSpeed ;
+
+
+ AudioSource EnemyFireAudio;
+ void Start ()
+ {
+ EnemyFireAudio = GameObject.FindGameObjectWithTag("EnemyFireAudio").GetComponent<AudioSource>();
+ }
+
+ void Update ()
+ {
+ fireCounter += Time.deltaTime;
+
+ if (fireCounter >= FireRate && PlayerInRange)
+ {
+ fireCounter = 0;
+ EnemyFireAudio.Play();
+ if (IsBulletTopDown)
+ {
+ Fire1();
+ }
+ else
+ {
+ Fire2();
+ }
+ IsBulletTopDown = !IsBulletTopDown;
+ }
+ }
+
+ void Fire1()
+ {
+ var Bullet1 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet1.GetComponent<Rigidbody2D>().velocity = Vector2.up * BulletSpeed;
+ var Bullet2 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet2.GetComponent<Rigidbody2D>().velocity = Vector2.right * BulletSpeed;
+ var Bullet3 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet3.GetComponent<Rigidbody2D>().velocity = Vector2.down * BulletSpeed;
+ var Bullet4 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet4.GetComponent<Rigidbody2D>().velocity = Vector2.left * BulletSpeed;
+ Destroy(Bullet1, 1.5f);
+ Destroy(Bullet2, 1.5f);
+ Destroy(Bullet3, 1.5f);
+ Destroy(Bullet4, 1.5f);
+ }
+
+ void Fire2()
+ {
+ var Bullet1 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet1.GetComponent<Rigidbody2D>().velocity = new Vector2(1,1) * BulletSpeed;
+ var Bullet2 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet2.GetComponent<Rigidbody2D>().velocity = new Vector2(-1, 1) * BulletSpeed;
+ var Bullet3 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet3.GetComponent<Rigidbody2D>().velocity = new Vector2(-1, -1) * BulletSpeed;
+ var Bullet4 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject;
+ Bullet4.GetComponent<Rigidbody2D>().velocity = new Vector2(1, -1) * BulletSpeed;
+ Destroy(Bullet1, 1.5f);
+ Destroy(Bullet2, 1.5f);
+ Destroy(Bullet3, 1.5f);
+ Destroy(Bullet4, 1.5f);
+ }
+
+ void OnTriggerEnter2D(Collider2D other)
+ {
+ var player = other.gameObject.GetComponentInParent<PlayerHealthScript>();
+ if (player != null)
+ {
+ PlayerInRange = true;
+ }
+ }
+
+ void OnTriggerExit2D(Collider2D other)
+ {
+ var player = other.gameObject.GetComponentInParent<PlayerHealthScript>();
+ if (player != null)
+ {
+ PlayerInRange = false;
+ }
+ }
+
+}