Esempio n. 1
0
        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();
 }
Esempio n. 4
0
 public void StartAiming(NodeAddedEvent evt, ShaftAimingWorkingStateNode weapon, [JoinByTank] ICollection <SkinParticleNode> skins)
 {
     if (< > f__am$cache4 == null)
     {
Esempio n. 5
0
 public void RemoveTargetPoint(NodeRemoveEvent evt, ShaftAimingWorkingStateNode weapon, [JoinByUser] SingleNode <SelfUserComponent> selfUser)
 {
     weapon.Entity.RemoveComponent <ShaftAimingTargetPointContainerComponent>();
     weapon.Entity.RemoveComponent <ShaftAimingTargetPointComponent>();
 }