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); }
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); }
public static void LazyCreateEffect(EffectCode effectCode, Transform SpawnPoint) { if (effectCode == EffectCode.None) { return; } LSEffect effect = CreateEffect(effectCode); effect.CachedTransform.position = SpawnPoint.position; effect.Initialize(); }
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(); }
public static void LazyCreateEffect(string effectCode, Vector3 position) { if (effectCode == "None") { return; } LSEffect effect = CreateEffect(effectCode); effect.CachedTransform.position = position; effect.Initialize(); }
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); }
public static void Fire(LSEffect effect) { effect.Initialize(); }