Inheritance: MonoBehaviour
コード例 #1
0
ファイル: George.cs プロジェクト: meyerweb/KramaxAutoPilot
        void Initialise()
        {
            hdgBankCtrl = controllers[(int)AsstList.HdgBank] = new APController(AsstList.HdgBank, defaultHdgBankGains);
            bankToYawCtrl = controllers[(int)AsstList.BankToYaw] = new APController(AsstList.BankToYaw, defaultBankToYawGains);
            aileronCtrl = controllers[(int)AsstList.Aileron] = new APController(AsstList.Aileron, defaultAileronGains);
            rudderCtrl = controllers[(int)AsstList.Rudder] = new APController(AsstList.Rudder, defaultRudderGains);
            altCtrl = controllers[(int)AsstList.Altitude] = new APController(AsstList.Altitude, defaultAltitudeGains);
            vertSpeedCtrl = controllers[(int)AsstList.VertSpeed] = new APController(AsstList.VertSpeed, defaultVSpeedGains);
            elevCtrl = controllers[(int)AsstList.Elevator] = new APController(AsstList.Elevator, defaultElevatorGains);
            speedCtrl = controllers[(int)AsstList.Speed] = new APController(AsstList.Speed, defaultSpeedGains);
            accelCtrl = controllers[(int)AsstList.Acceleration] = new APController(AsstList.Acceleration, defaultAccelGains);
            xtrkSpeedCtrl = controllers[(int)AsstList.CdiVelocity] =  new APController(AsstList.CdiVelocity, defaultXtrkGains);

            // Set up a default preset that can be easily returned to
            PresetManager.initDefaultPresets(new APPreset(controllers, "default"));

            hdgBankCtrl.invertOutput = true;
            bankToYawCtrl.invertOutput = true;
            aileronCtrl.invertInput = true;
            altCtrl.invertOutput = true;
            vertSpeedCtrl.invertOutput = true;
            elevCtrl.invertOutput = true;
            speedCtrl.invertOutput = true;
            accelCtrl.invertOutput = true;

            aileronCtrl.InMax = 180;
            aileronCtrl.InMin = -180;
            altCtrl.InMin = 0;
            speedCtrl.InMin = 0;
            hdgBankCtrl.isHeadingControl = true; // fix for derivative freaking out when heading target flickers across 0/360
        }
コード例 #2
0
        public static void newAPPreset(ref string name, APController[] controllers, Vessel v)
        {
            if (name == "")
                return;

            string tempName = name;
            if (Instance.APPresetList.Any(p => p.name == tempName))
            {
                GeneralUI.postMessage("Failed to add preset with duplicate name");
                return;
            }
            APPreset newPreset = new APPreset(controllers, name);
            updateCraftPreset(newPreset, v);
            Instance.APPresetList.Add(newPreset);
            Instance.activeAPPreset = PresetManager.Instance.APPresetList.Last();
            saveToFile();
            name = "";
        }
コード例 #3
0
ファイル: George.cs プロジェクト: meyerweb/KramaxAutoPilot
 private bool controllerVisible(APController controller)
 {
     if (!controller.bShow)
         return false;
     switch (controller.ctrlID)
     {
         case AsstList.HdgBank:
         case AsstList.BankToYaw:
             return bShowHdg && CurrentHrztMode != HrztMode.Bank;
         case AsstList.Aileron:
         case AsstList.Rudder:
             return bShowHdg && showControlSurfaces;
         case AsstList.Altitude:
             return bShowVert && (CurrentVertMode == VertMode.Altitude || CurrentVertMode == VertMode.RadarAltitude);
         case AsstList.VertSpeed:
             return bShowVert;
         case AsstList.Elevator:
             return bShowVert && showControlSurfaces;
         case AsstList.Speed:
             return bShowThrottle && CurrentThrottleMode == ThrottleMode.Speed;
         case AsstList.Acceleration:
             return bShowThrottle;
         default:
             return true;
     }
 }
コード例 #4
0
 private bool ValidateUnit(int turn, APController output)
 {
     return output.ToString().Equals(m_objArray[m_unitsToMove[turn]].GetComponent<APController>().ToString());
 }