From 115f77bda0246a00f6e17469685c67746bdbd29d Mon Sep 17 00:00:00 2001 From: nirav Date: Sat, 12 Dec 2020 07:18:36 +0000 Subject: Initial commit --- Assets/Scripts/Enemy/EnemyFireScript.cs | 90 +++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 Assets/Scripts/Enemy/EnemyFireScript.cs (limited to 'Assets/Scripts/Enemy/EnemyFireScript.cs') 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(); + } + + 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().velocity = Vector2.up * BulletSpeed; + var Bullet2 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet2.GetComponent().velocity = Vector2.right * BulletSpeed; + var Bullet3 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet3.GetComponent().velocity = Vector2.down * BulletSpeed; + var Bullet4 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet4.GetComponent().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().velocity = new Vector2(1,1) * BulletSpeed; + var Bullet2 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet2.GetComponent().velocity = new Vector2(-1, 1) * BulletSpeed; + var Bullet3 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet3.GetComponent().velocity = new Vector2(-1, -1) * BulletSpeed; + var Bullet4 = Instantiate(Bullet, gameObject.transform.position, Quaternion.identity) as GameObject; + Bullet4.GetComponent().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(); + if (player != null) + { + PlayerInRange = true; + } + } + + void OnTriggerExit2D(Collider2D other) + { + var player = other.gameObject.GetComponentInParent(); + if (player != null) + { + PlayerInRange = false; + } + } + +} -- cgit v1.2.3