public void DrawHitDecalSelf(SelfShaftAimingHitEvent evt, SingleNode <ShaftAimingShotDecalProjectorComponent> decalProjectorNode, [JoinByTank] SingleNode <MuzzlePointComponent> muzzlePointNode, [JoinAll] SingleNode <DecalManagerComponent> decalManagerNode) { if (decalManagerNode.component.EnableDecals) { base.DrawHitDecal(evt, decalManagerNode.component, decalProjectorNode.component, muzzlePointNode.component); } }
public void SendHit(SendShaftAimingHitToServerEvent evt, ShaftNode weapon) { if (evt.TargetingData.BestDirection.HasAnyHit()) { SelfShaftAimingHitEvent hitEvent = new SelfShaftAimingHitEvent(); float energy = weapon.weaponEnergy.Energy; this.CompleteTargets(hitEvent, evt.TargetingData, energy); base.ScheduleEvent(hitEvent, weapon); } }
public void SendHitToServer(SendHitToServerEvent e, ShaftNode weapon) { if (e.TargetingData.BestDirection.HasAnyHit()) { SelfShaftAimingHitEvent eventInstance = new SelfShaftAimingHitEvent(HitTargetAdapter.Adapt(e.TargetingData.BestDirection.Targets), e.TargetingData.BestDirection.StaticHit) { HitPower = 0f }; base.ScheduleEvent(eventInstance, weapon); } }
private void CompleteTargets(SelfShaftAimingHitEvent hitEvent, TargetingData targeting, float energy) { hitEvent.Targets = HitTargetAdapter.Adapt(targeting.BestDirection.Targets); hitEvent.StaticHit = targeting.BestDirection.StaticHit; hitEvent.HitPower = 1f - energy; }
public void CreateShaftQuickHitSelfSoundEffect(SelfShaftAimingHitEvent evt, SingleNode <ShaftAimingHitSoundEffectComponent> weapon, [JoinAll] SingleNode <SoundListenerBattleStateComponent> soundListener) { this.CreateShaftHitSoundEffect(evt, weapon.component); }
public void MakeAimingHitImpact(SelfShaftAimingHitEvent evt, ShaftAimingImpactNode weapon) { this.MakeImpactOnAnyAimingShot(evt.HitPower, evt.Targets, weapon); }