예제 #1
0
 public override void OnUpdate()
 {
     if (HighLogic.LoadedSceneIsFlight)
     {
         if (readyToFire && deployed && (!weaponManager || weaponManager.selectedWeaponString != GetShortName()))
         {
             if (BDInputUtils.GetKeyDown(BDInputSettingsFields.WEAP_FIRE_KEY) && (vessel.isActiveVessel || BDArmorySettings.REMOTE_SHOOTING))
             {
                 FireRocket();
             }
         }
     }
 }
예제 #2
0
        public override void OnUpdate()
        {
            if (HighLogic.LoadedSceneIsFlight)
            {
                if (readyToFire && deployed)
                {
                    if (returnRoutine != null)
                    {
                        StopCoroutine(returnRoutine);
                        returnRoutine = null;
                    }

                    if (weaponManager && weaponManager.guardMode && weaponManager.selectedWeaponString == GetShortName())
                    {
                        if (Time.time - autoFireStartTime < autoFireDuration)
                        {
                            float fireInterval = 0.5f;
                            if (autoRippleRate > 0)
                            {
                                fireInterval = 60f / autoRippleRate;
                            }
                            if (Time.time - lastAutoFiredTime > fireInterval)
                            {
                                FireRocket();
                                lastAutoFiredTime = Time.time;
                            }
                        }
                    }
                    else if ((!weaponManager ||
                              (weaponManager.selectedWeaponString == GetShortName() && !weaponManager.guardMode)))
                    {
                        if (BDInputUtils.GetKeyDown(BDInputSettingsFields.WEAP_FIRE_KEY) &&
                            (vessel.isActiveVessel || BDArmorySettings.REMOTE_SHOOTING))
                        {
                            FireRocket();
                        }
                    }
                }
            }
        }
예제 #3
0
        void UpdateKeyInputs()
        {
            if (!vessel.isActiveVessel)
            {
                return;
            }

            if (BDInputUtils.GetKey(BDInputSettingsFields.TGP_SLEW_LEFT))
            {
                slewInput.x = -1;
            }
            else if (BDInputUtils.GetKey(BDInputSettingsFields.TGP_SLEW_RIGHT))
            {
                slewInput.x = 1;
            }

            if (BDInputUtils.GetKey(BDInputSettingsFields.TGP_SLEW_UP))
            {
                slewInput.y = 1;
            }
            else if (BDInputUtils.GetKey(BDInputSettingsFields.TGP_SLEW_DOWN))
            {
                slewInput.y = -1;
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_IN))
            {
                ZoomIn();
            }
            else if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_OUT))
            {
                ZoomOut();
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_LOCK))
            {
                if (groundStabilized)
                {
                    ClearTarget();
                }
                else
                {
                    GroundStabilize();
                }
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_NV))
            {
                ToggleNV();
            }

            if (groundStabilized && BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_SEND_GPS))
            {
                SendGPS();
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_COM))
            {
                CoMLock = !CoMLock;
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_RADAR))
            {
                radarLock = !radarLock;
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_TURRETS))
            {
                if (slaveTurrets)
                {
                    UnslaveTurrets();
                }
                else
                {
                    SlaveTurrets();
                }
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_TO_GPS))
            {
                PointToGPSTarget();
            }

            if (BDInputUtils.GetKeyDown(BDInputSettingsFields.TGP_RESET))
            {
                ResetCameraButton();
            }
        }