LegitTeddyBears

NormalProjectile2

Jun 5th, 2017
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.58 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. //We will inherit from the BaseProjectile
  6. public class NormalProjectile : BaseProjectile {
  7.  
  8.     Vector3 m_direction;
  9.     bool m_fired;
  10.     GameObject m_luancher;
  11.     GameObject m_target;
  12.     int m_damage;
  13.     // Update is called once per frame
  14.     void Update ()
  15.     {
  16.         if (m_fired)
  17.         {
  18.             transform.position += m_direction * (Speed * Time.deltaTime);
  19.         }  
  20.     }
  21.     public override void FireProjectile(GameObject launcher, GameObject target, int damage, float attackSpeed)
  22.     {
  23.         if(launcher && target)
  24.         {
  25.             m_direction = (target.transform.position - launcher.transform.position).normalized;
  26.             m_fired = true;
  27.             m_luancher = launcher;
  28.             m_target = target;
  29.             m_damage = damage;
  30.  
  31.             Destroy(gameObject, 10.0f);
  32.         }
  33.     }
  34.     public void OnCollisionEnter(Collision other)
  35.     {
  36.         if(other.gameObject == m_target)
  37.         {
  38.             DamageData dmgData = new DamageData();
  39.             dmgData.damage = m_damage;
  40.  
  41.             MessageHandler msgHandler = m_target.GetComponent<MessageHandler>();
  42.  
  43.             if (msgHandler)
  44.             {
  45.                 msgHandler.GiveMessage(MessageType.DAMAGED, m_luancher, dmgData);
  46.             }
  47.         }
  48.         //Dont destroy when you come in contact with bullets otherwise do destroy
  49.         if(other.gameObject.GetComponent<BaseProjectile>() == null && other.gameObject.GetComponent<TurretAi>() == null)
  50.             Destroy(gameObject);
  51.     }
  52. }
Add Comment
Please, Sign In to add comment