public void CreateTargetPoint(NodeAddedEvent evt, ShaftAimingWorkingStateNode weapon, [JoinByTank] SelfTankNode selfTank, [JoinAll] ICollection <SingleNode <TankPartIntersectedWithCameraStateComponent> > intersectedTankParts) { bool flag = intersectedTankParts.Count > 1; Vector3 barrelOriginWorld = new MuzzleLogicAccessor(weapon.muzzlePoint, weapon.weaponInstance).GetBarrelOriginWorld(); Vector3 vector3 = this.GetTargetPoint(barrelOriginWorld, weapon.shaftAimingWorkingState.WorkingDirection, weapon.verticalSectorsTargeting.WorkDistance, weapon.targetCollector); ShaftAimingTargetPointContainerComponent component = new ShaftAimingTargetPointContainerComponent { Point = vector3, IsInsideTankPart = flag, PrevVerticalAngle = weapon.shaftAimingWorkingState.VerticalAngle }; weapon.Entity.AddComponent(component); ShaftAimingTargetPointComponent component3 = new ShaftAimingTargetPointComponent { Point = vector3, IsInsideTankPart = flag }; weapon.Entity.AddComponent(component3); }
public void StopAiming(NodeRemoveEvent evt, ShaftAimingWorkingStateNode weapon) { weapon.shaftAimingAnimation.StopAiming(); }
public void StartAiming(NodeAddedEvent evt, ShaftAimingWorkingStateNode weapon) { weapon.shaftAimingAnimation.StartAiming(); }
public void StartAiming(NodeAddedEvent evt, ShaftAimingWorkingStateNode weapon, [JoinByTank] ICollection <SkinParticleNode> skins) { if (< > f__am$cache4 == null) {
public void RemoveTargetPoint(NodeRemoveEvent evt, ShaftAimingWorkingStateNode weapon, [JoinByUser] SingleNode <SelfUserComponent> selfUser) { weapon.Entity.RemoveComponent <ShaftAimingTargetPointContainerComponent>(); weapon.Entity.RemoveComponent <ShaftAimingTargetPointComponent>(); }