Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- //We will inherit from the BaseProjectile
- public class NormalProjectile : BaseProjectile {
- Vector3 m_direction;
- bool m_fired;
- GameObject m_luancher;
- GameObject m_target;
- int m_damage;
- // Update is called once per frame
- void Update ()
- {
- if (m_fired)
- {
- transform.position += m_direction * (Speed * Time.deltaTime);
- }
- }
- public override void FireProjectile(GameObject launcher, GameObject target, int damage, float attackSpeed)
- {
- if(launcher && target)
- {
- m_direction = (target.transform.position - launcher.transform.position).normalized;
- m_fired = true;
- m_luancher = launcher;
- m_target = target;
- m_damage = damage;
- Destroy(gameObject, 10.0f);
- }
- }
- public void OnCollisionEnter(Collision other)
- {
- if(other.gameObject == m_target)
- {
- DamageData dmgData = new DamageData();
- dmgData.damage = m_damage;
- MessageHandler msgHandler = m_target.GetComponent<MessageHandler>();
- if (msgHandler)
- {
- msgHandler.GiveMessage(MessageType.DAMAGED, m_luancher, dmgData);
- }
- }
- //Dont destroy when you come in contact with bullets otherwise do destroy
- if(other.gameObject.GetComponent<BaseProjectile>() == null && other.gameObject.GetComponent<TurretAi>() == null)
- Destroy(gameObject);
- }
- }
Add Comment
Please, Sign In to add comment