diff options
author | nirav <nirav@airmail.cc> | 2020-12-12 07:18:36 +0000 |
---|---|---|
committer | nirav <nirav@airmail.cc> | 2020-12-12 07:18:36 +0000 |
commit | 115f77bda0246a00f6e17469685c67746bdbd29d (patch) | |
tree | 4bbea1e59109bb1d1fddc71736f89289bab03073 /Assets/Scripts/Enemy3 | |
download | 01-115f77bda0246a00f6e17469685c67746bdbd29d.tar.gz 01-115f77bda0246a00f6e17469685c67746bdbd29d.zip |
Diffstat (limited to 'Assets/Scripts/Enemy3')
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3AttackScript.cs | 60 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3AttackScript.cs.meta | 12 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3BulletScript.cs | 32 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3BulletScript.cs.meta | 12 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3FireScript.cs | 43 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3FireScript.cs.meta | 12 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3HealthScript.cs | 34 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3HealthScript.cs.meta | 12 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3TriggerScript.cs | 35 | ||||
-rwxr-xr-x | Assets/Scripts/Enemy3/Enemy3TriggerScript.cs.meta | 12 |
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: |