示例#1
0
        void Initialise()
        {
            controllers[(int)PIDList.HdgBank]   = new PID_Controller(defaultHdgBankGains);
            controllers[(int)PIDList.HdgYaw]    = new PID_Controller(defaultHdgYawGains);
            controllers[(int)PIDList.Aileron]   = new PID_Controller(defaultAileronGains);
            controllers[(int)PIDList.Rudder]    = new PID_Controller(defaultRudderGains);
            controllers[(int)PIDList.Altitude]  = new PID_Controller(defaultAltitudeGains);
            controllers[(int)PIDList.VertSpeed] = new PID_Controller(defaultVSpeedGains);
            controllers[(int)PIDList.Elevator]  = new PID_Controller(defaultElevatorGains);
            controllers[(int)PIDList.Throttle]  = new PID_Controller(defaultThrottleGains);

            // Set up a default preset that can be easily returned to
            if (PresetManager.Instance.craftPresetList.ContainsKey("default"))
            {
                if (PresetManager.Instance.craftPresetList["default"].AsstPreset == null)
                {
                    PresetManager.Instance.craftPresetList["default"].AsstPreset = new AsstPreset(controllers, "default");
                }
            }
            else
            {
                PresetManager.Instance.craftPresetList.Add("default", new CraftPreset("default", new AsstPreset(controllers, "default"), null, null, true));
            }

            PresetManager.saveDefaults();

            init = true;
        }
 public static void initDefaultPresets(RSASPreset p)
 {
     initDefaultPresets();
     if (ReferenceEquals(Instance.craftPresetDict[craftDefaultName].RSASPreset, null))
     {
         Instance.craftPresetDict[craftDefaultName].RSASPreset = p;
     }
     PresetManager.saveDefaults();
 }
示例#3
0
        // need to wait for Stock SAS to be ready, hence the Coroutine
        IEnumerator Initialise()
        {
            if (FlightData.thisVessel == null)
            {
                FlightData.thisVessel = FlightGlobals.ActiveVessel;
            }

            // wait for SAS to init
            if (FlightData.thisVessel.Autopilot.SAS.pidLockedPitch == null)
            {
                yield return(null);
            }

            bPause[0] = bPause[1] = bPause[2] = false;
            ActivitySwitch(false);

            if (!bInit)
            {
                SASControllers[(int)SASList.Pitch] = new PID_Controller(defaultPitchGains);
                SASControllers[(int)SASList.Roll]  = new PID_Controller(defaultRollGains);
                SASControllers[(int)SASList.Yaw]   = new PID_Controller(defaultYawGains);

                if (!PresetManager.Instance.craftPresetList.ContainsKey("default"))
                {
                    PresetManager.Instance.craftPresetList.Add("default", new CraftPreset("default", null, new SASPreset(SASControllers, "SSAS"), new SASPreset(FlightData.thisVessel.Autopilot.SAS, "stock"), bStockSAS));
                }
                else
                {
                    if (PresetManager.Instance.craftPresetList["default"].SSASPreset == null)
                    {
                        PresetManager.Instance.craftPresetList["default"].SSASPreset = new SASPreset(SASControllers, "SSAS");
                    }
                    if (PresetManager.Instance.craftPresetList["default"].StockPreset == null)
                    {
                        PresetManager.Instance.craftPresetList["default"].StockPreset = new SASPreset(FlightData.thisVessel.Autopilot.SAS, "stock");
                    }
                }
                PresetManager.saveDefaults();

                GeneralUI.InitColors();
                bInit = true;
            }
            PresetManager.loadCraftSSASPreset();
            PresetManager.loadCraftStockPreset();
        }