Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class BFG_Projectile : MonoBehaviour
- {
- [SerializeField] public float speed = 20.0f;
- [SerializeField] public float life = 20f;
- public float damageRadius = 10f;
- public AudioSource explosion;
- private bool collided;
- private void Start()
- {
- Invoke("Explode", life);
- }
- private void Update()
- {
- transform.position += transform.forward * speed * Time.deltaTime;
- }
- void OnTriggerEnter(Collider col)
- {
- EnemyHealth enemyRef = col.collider.GetComponent<EnemyHealth>();
- Explode();
- }
- void Explode()
- {
- Debug.Log("Collision Detected");
- Debug.Log("PlayingSound");
- speed = 0;
- explosion.Play();
- GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
- foreach (GameObject Enemy in enemies)
- {
- if (damageRadius >= Vector3.Distance(transform.position, Enemy.transform.position))
- {
- //Enemy.getComponent(HealthScript).takeDamage(100);
- EnemyHealth enemyRef = collider.GetComponent<EnemyHealth>();
- enemyRef.Damage = 5;
- Debug.Log("Max Damage!");
- }
- }
- StartCoroutine(waitForExplosion());
- }
- IEnumerator waitForExplosion()
- {
- Debug.Log("Waiting for sound to play");
- yield return new WaitWhile(()=> explosion.isPlaying);
- Debug.Log("Destroying");
- Destroy(gameObject);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement