public void SendHitEvent(CollectSplashTargetsEvent evt, SplashWeaponNode weapon) { SplashHitData splashHit = evt.SplashHit; SelfSplashHitEvent eventInstance = new SelfSplashHitEvent(splashHit.DirectTargets, splashHit.StaticHit, splashHit.SplashTargets); base.ScheduleEvent(eventInstance, weapon); }
public void ScheduleHitFeedbackOnSelfSplashHitEvent(SelfSplashHitEvent e, SplashWeaponNode weapon, [JoinByTank] SelfTankNode tank, [JoinByBattle] BattleNode battle) { if (this.ValidateSelfHit(e, tank, battle)) { base.ScheduleEvent <HitFeedbackEvent>(tank); } else if (((e.SplashTargets != null) && (e.SplashTargets.Count != 0)) && this.ValidateTargets(e.SplashTargets, tank, battle)) { base.ScheduleEvent <HitFeedbackEvent>(tank); } }
public void CalculateAndSendSplashImpactEffect(SelfSplashHitEvent evt, SplashImpactNode weapon, [JoinByTank] TankPhysicsNode tank) { this.CalculateAndSendSplashImpactEffectByBaseEvent(evt.SplashTargets, evt.StaticHit, evt.Targets, weapon, tank); }
public void StopUnit(SelfSplashHitEvent e, SpiderActiveNode spider) { spider.Entity.RemoveComponent <UnitReadyComponent>(); }