LegitTeddyBears

NormalProjectile

May 31st, 2017
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.61 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_launcher;
  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_launcher = launcher;
  28.             m_target = target;
  29.             m_damage = damage;
  30.  
  31.             Destroy(gameObject, 10.0f);
  32.         }
  33.     }
  34.    
  35. //Don't worry about this for now, we will add it in our next segment
  36.     public void OnCollisionEnter(Collision other)
  37.     {
  38.         /* if(other.gameObject == m_target)
  39.         {
  40.             DamageData dmgData = new DamageData();
  41.             dmgData.damage = m_damage;
  42.  
  43.             MessageHandler msgHandler = m_target.GetComponent<MessageHandler>();
  44.  
  45.             if (msgHandler)
  46.             {
  47.                 msgHandler.GiveMessage(MessageType.DAMAGED, m_launcher, dmgData);
  48.             }
  49.         } */
  50.         //Don't destroy when you come in contact with bullets otherwise do destroy
  51.         if(other.gameObject.GetComponent<BaseProjectile>() == null)
  52.             Destroy(gameObject);
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment