public override void Init(ShootData shootData, AbstractProjectileData projectileData)
        {
            SimpleProjectileData downCastedProjectileData = projectileData as SimpleProjectileData;

            InitTransform(shootData);

            speed = downCastedProjectileData.Speed;

            IsActive = true;
        }
Exemple #2
0
        /// <summary>
        /// Cast projectile
        /// </summary>
        /// <param name="position">Position</param>
        /// <param name="direction">Direction</param>
        /// <param name="data">Data</param>
        public void Cast(ShootData shootData, AbstractProjectileData projectileData)
        {
            AbstractProjectile projectile = projectilePool.GetProjectile(projectileData);

            if (projectile == false)
            {
                Debug.LogError("projectile == null");

                return;
            }

            projectile.Init(shootData, projectileData);
        }
Exemple #3
0
        public override void Init(ShootData shootData, AbstractProjectileData projectileData)
        {
            RigidbodyProjectileData downCastedProjectileData = projectileData as RigidbodyProjectileData;

            InitTransform(shootData);

            startForce = downCastedProjectileData.StartForce;

            previousPosition = transform.position;

            IsActive = true;

            body.velocity        = Vector3.zero;
            body.angularVelocity = Vector3.zero;
            body.AddForce(transform.forward * startForce, ForceMode.Impulse);
        }
Exemple #4
0
 protected virtual void InitTransform(ShootData shootData)
 {
     transform.position = shootData.position;
     transform.rotation = shootData.rotation;
 }
Exemple #5
0
 /// <summary>
 /// Init projectile
 /// </summary>
 /// <param name="position">Position</param>
 /// <param name="direction">Direction</param>
 /// <param name="data">Data</param>
 public virtual void Init(ShootData shootData, AbstractProjectileData projectileData)
 {
     InitTransform(shootData);
 }
 private void Awake()
 {
     shootData = new ShootData();
 }