public static void loadAPPreset(APPreset p, George instance)
        {
            APController[] c = instance.controllers;
            for (int i = 0; i < c.Length && i < p.PIDGains.Count; i++)
            {
                c[i].PGain      = p.PIDGains[i][0];
                c[i].IGain      = p.PIDGains[i][1];
                c[i].DGain      = p.PIDGains[i][2];
                c[i].OutMin     = p.PIDGains[i][3];
                c[i].OutMax     = p.PIDGains[i][4];
                c[i].ClampLower = p.PIDGains[i][5];
                c[i].ClampUpper = p.PIDGains[i][6];
                c[i].Scalar     = p.PIDGains[i][7];
                c[i].Easing     = p.PIDGains[i][8];
            }

            Instance.activeAPPreset = p;
            GeneralUI.postMessage("Loaded preset " + p.name);

            if (Instance.activeAPPreset != Instance.craftPresetDict[craftDefaultName].apPreset)
            {
                updateCraftPreset(Instance.activeAPPreset, instance.vessel);
            }

            saveToFile();
        }
        public static void loadAsstPreset(AsstPreset p, PilotAssistant instance)
        {
            AsstController[] c = instance.controllers;
            for (int i = 0; i < 8; i++)
            {
                c[i].PGain      = p.PIDGains[i][0];
                c[i].IGain      = p.PIDGains[i][1];
                c[i].DGain      = p.PIDGains[i][2];
                c[i].OutMin     = p.PIDGains[i][3];
                c[i].OutMax     = p.PIDGains[i][4];
                c[i].ClampLower = p.PIDGains[i][5];
                c[i].ClampUpper = p.PIDGains[i][6];
                c[i].Scalar     = p.PIDGains[i][7];
                c[i].Easing     = p.PIDGains[i][8];
            }

            Instance.activeAsstPreset = p;
            GeneralUI.postMessage("Loaded preset " + p.name);

            if (Instance.activeAsstPreset != Instance.craftPresetDict[craftDefaultName].AsstPreset)
            {
                updateCraftPreset(Instance.activeAsstPreset, instance.vesModule.vesselRef);
            }
            saveToFile();
        }
        public static void deleteAPPreset(APPreset p)
        {
            GeneralUI.postMessage("Deleted preset " + p.name);
            if (Instance.activeAPPreset == p)
            {
                Instance.activeAPPreset = null;
            }
            Instance.APPresetList.Remove(p);

            p = null;

            saveToFile();
        }
        public static void deleteSASPreset(SASPreset p)
        {
            GeneralUI.postMessage("Deleted preset " + p.name);
            if (Instance.activeSASPreset == p)
            {
                Instance.activeSASPreset = null;
            }
            Instance.SASPresetList.Remove(p);

            foreach (KeyValuePair <string, CraftPreset> cp in instance.craftPresetDict)
            {
                if (!ReferenceEquals(cp.Value, null) && cp.Value.SASPreset == p)
                {
                    cp.Value.SASPreset = null;
                }
            }
            p = null;
            saveToFile();
        }
Exemple #5
0
        private void drawSSASWindow(int id)
        {
            if (GUI.Button(new Rect(SSASwindow.width - 16, 2, 14, 14), ""))
            {
                PilotAssistantFlightCore.bDisplaySSAS = false;
            }

            bShowSSASPresets = GUILayout.Toggle(bShowSSASPresets, bShowSSASPresets ? "Hide SAS Presets" : "Show SAS Presets");

            GUI.backgroundColor = GeneralUI.HeaderButtonBackground;
            if (GUILayout.Button(bArmed ? "Disarm SAS" : "Arm SAS"))
            {
                bArmed = !bArmed;
                ActivitySwitch(vesModule.vesselRef.ActionGroups[KSPActionGroup.SAS]);

                GeneralUI.postMessage(bArmed ? "SSAS Armed" : "SSAS Disarmed");
            }
            GUI.backgroundColor = GeneralUI.stockBackgroundGUIColor;

            if (bArmed)
            {
                if (!(FlightUIController.speedDisplayMode == FlightUIController.SpeedDisplayModes.Orbit && currentMode == VesselAutopilot.AutopilotMode.StabilityAssist))
                {
                    if (currentMode == VesselAutopilot.AutopilotMode.StabilityAssist)
                    {
                        SASList.Pitch.GetSAS(this).SetPoint = TogPlusNumBox("Pitch:", SASList.Pitch, vesModule.vesselData.pitch, 80, 70);
                        currentTarget = Utils.getPlaneRotation(TogPlusNumBox("Heading:", SASList.Hdg, vesModule.vesselData.heading, 80, 70), vesModule);
                    }
                    SASList.Bank.GetSAS(this).SetPoint = TogPlusNumBox("Roll:", SASList.Bank, vesModule.vesselData.bank, 80, 70);
                }

                GUILayout.Box("", GUILayout.Height(10)); // seperator

                drawPIDValues(SASList.Pitch, "Pitch");
                drawPIDValues(SASList.Bank, "Roll");
                drawPIDValues(SASList.Hdg, "Yaw");
            }

            GUI.DragWindow();
            tooltip = GUI.tooltip;
        }
        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 = "";
        }