Example #1
0
        private void Hit(bool destroy = true)
        {
            this.OnHit ();
            if (this.onHit.IsNotNull ()) {
                this.onHit ();
            }
            if (this.TargetCurrent) {
                if (this.UseEffects) {
                    if (this.AttachEndEffectToTarget) {
                        LSEffect lSEffect = EffectManager.CreateEffect (this.HitFX);
                        lSEffect.CachedTransform.parent = this.Target.VisualCenter;
                        lSEffect.CachedTransform.localPosition = Vector3.up;
                        lSEffect.CachedTransform.rotation = this.cachedTransform.rotation;
                        lSEffect.Initialize ();
                    } else {
                        //Certain targeting types collide with a target
                        if (this.TargetingBehavior == TargetingType.Homing) {
                            EffectManager.CreateCollisionEffect (this.HitFX, this, Target.Body);
                        } else {
                            EffectManager.CreateEffect (this.HitFX, this.cachedTransform.position, this.cachedTransform.rotation);

                        }
                    }
                }
            }
            if (destroy)
                ProjectileManager.EndProjectile (this);
        }
Example #2
0
 private void Hit()
 {
     if (this.TargetingBehavior == TargetingType.Homing && this.HitBehavior == HitType.Single && this.Target.SpawnVersion != this.TargetVersion)
     {
         ProjectileManager.EndProjectile(this);
         return;
     }
     this.OnHit();
     if (this.onHit.IsNotNull())
     {
         this.onHit.Invoke();
     }
     if (this.UseEffects)
     {
         if (this.AttachEndEffectToTarget)
         {
             LSEffect lSEffect = EffectManager.CreateEffect(this.EndEffect);
             lSEffect.CachedTransform.parent        = this.Target.VisualCenter;
             lSEffect.CachedTransform.localPosition = Vector3.up;
             lSEffect.Initialize();
         }
         else
         {
             {
                 EffectManager.LazyCreateEffect(this.EndEffect, this.cachedTransform.position, this.cachedTransform.rotation);
             }
         }
     }
     ProjectileManager.EndProjectile(this);
 }
Example #3
0
        public static void LazyCreateEffect(EffectCode effectCode, Transform SpawnPoint)
        {
            if (effectCode == EffectCode.None)
            {
                return;
            }
            LSEffect effect = CreateEffect(effectCode);

            effect.CachedTransform.position = SpawnPoint.position;
            effect.Initialize();
        }
Example #4
0
        public static void LazyCreateEffect(EffectCode effectCode, Vector3 position, Quaternion rotation)
        {
            if (effectCode == EffectCode.None)
            {
                return;
            }
            LSEffect effect = CreateEffect(effectCode);

            effect.CachedTransform.position = position;
            effect.Initialize();
        }
        public static void LazyCreateEffect(string effectCode, Transform SpawnPoint)
        {
            if (!IsValid(effectCode))
            {
                return;
            }
            LSEffect effect = CreateEffect(effectCode);

            effect.CachedTransform.position = SpawnPoint.position;
            effect.Initialize();
        }
        public static void LazyCreateEffect(string effectCode, Vector3 position, Quaternion rotation)
        {
            if (!IsValid(effectCode))
            {
                return;
            }
            LSEffect effect = CreateEffect(effectCode);

            effect.CachedTransform.position = position;
            effect.Initialize();
        }
Example #7
0
        public static void LazyCreateEffect(string effectCode, Vector3 position)
        {
            if (effectCode == "None")
            {
                return;
            }
            LSEffect effect = CreateEffect(effectCode);

            effect.CachedTransform.position = position;
            effect.Initialize();
        }
Example #8
0
 void HitAgent(LSAgent agent)
 {
     if (this.UseEffects && this.AttachEndEffectToTarget)
     {
         LSEffect lSEffect = EffectManager.CreateEffect(this.HitFX);
         lSEffect.CachedTransform.parent        = agent.VisualCenter;
         lSEffect.CachedTransform.localPosition = Vector3.up;
         lSEffect.CachedTransform.rotation      = this.cachedTransform.rotation;
         lSEffect.Initialize();
     }
     this.HitEffect(agent);
 }
Example #9
0
 public static void Fire(LSEffect effect)
 {
     effect.Initialize();
 }