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); } }
public void PrepareAimingTargets(ShaftAimingShotPrepareEvent evt, ShaftNode weapon) { this.PrepareAimingTargets(weapon.Entity, evt.WorkingDir); }
public void InitDataForShaftAiming(NodeAddedEvent e, ShaftNode weapon, [JoinByTank, Context] SelfTankNode tank) { weapon.Entity.AddComponent(new ShaftAimingForceFieldReadyComponent(Shader.PropertyToID("_ShaftAimingForceFieldData"))); }