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(); }
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 = ""; }