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 initDefaultPresets(APPreset p) { initDefaultPresets(); if (Instance.craftPresetDict[craftDefaultName].apPreset == null) { Instance.craftPresetDict[craftDefaultName].apPreset = p; } PresetManager.saveDefaults(); }
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 ConfigNode PIDnode(string name, int index, APPreset preset) { ConfigNode node = new ConfigNode(name); node.AddValue(pGain, preset.PIDGains[index][0]); node.AddValue(iGain, preset.PIDGains[index][1]); node.AddValue(dGain, preset.PIDGains[index][2]); node.AddValue(min, preset.PIDGains[index][3]); node.AddValue(max, preset.PIDGains[index][4]); node.AddValue(iLower, preset.PIDGains[index][5]); node.AddValue(iUpper, preset.PIDGains[index][6]); node.AddValue(scalar, preset.PIDGains[index][7]); node.AddValue(ease, preset.PIDGains[index][8]); return(node); }
public static ConfigNode APPresetNode(APPreset preset) { ConfigNode node = new ConfigNode(apPresetNodeName); node.AddValue("name", preset.name); node.AddNode(PIDnode(hdgCtrlr, (int)AsstList.HdgBank, preset)); node.AddNode(PIDnode(yawCtrlr, (int)AsstList.BankToYaw, preset)); node.AddNode(PIDnode(aileronCtrlr, (int)AsstList.Aileron, preset)); node.AddNode(PIDnode(rudderCtrlr, (int)AsstList.Rudder, preset)); node.AddNode(PIDnode(altCtrlr, (int)AsstList.Altitude, preset)); node.AddNode(PIDnode(vertCtrlr, (int)AsstList.VertSpeed, preset)); node.AddNode(PIDnode(elevCtrlr, (int)AsstList.Elevator, preset)); node.AddNode(PIDnode(speedCtrlr, (int)AsstList.Speed, preset)); node.AddNode(PIDnode(accelCtrlr, (int)AsstList.Acceleration, preset)); node.AddNode(PIDnode(cdiCtrlr, (int)AsstList.CdiVelocity, preset)); return node; }
public static ConfigNode APPresetNode(APPreset preset) { ConfigNode node = new ConfigNode(apPresetNodeName); node.AddValue("name", preset.name); node.AddNode(PIDnode(hdgCtrlr, (int)AsstList.HdgBank, preset)); node.AddNode(PIDnode(yawCtrlr, (int)AsstList.BankToYaw, preset)); node.AddNode(PIDnode(aileronCtrlr, (int)AsstList.Aileron, preset)); node.AddNode(PIDnode(rudderCtrlr, (int)AsstList.Rudder, preset)); node.AddNode(PIDnode(altCtrlr, (int)AsstList.Altitude, preset)); node.AddNode(PIDnode(vertCtrlr, (int)AsstList.VertSpeed, preset)); node.AddNode(PIDnode(elevCtrlr, (int)AsstList.Elevator, preset)); node.AddNode(PIDnode(speedCtrlr, (int)AsstList.Speed, preset)); node.AddNode(PIDnode(accelCtrlr, (int)AsstList.Acceleration, preset)); node.AddNode(PIDnode(cdiCtrlr, (int)AsstList.CdiVelocity, preset)); return(node); }
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 = ""; }
public static ConfigNode PIDnode(string name, int index, APPreset preset) { ConfigNode node = new ConfigNode(name); node.AddValue(pGain, preset.PIDGains[index][0]); node.AddValue(iGain, preset.PIDGains[index][1]); node.AddValue(dGain, preset.PIDGains[index][2]); node.AddValue(min, preset.PIDGains[index][3]); node.AddValue(max, preset.PIDGains[index][4]); node.AddValue(iLower, preset.PIDGains[index][5]); node.AddValue(iUpper, preset.PIDGains[index][6]); node.AddValue(scalar, preset.PIDGains[index][7]); node.AddValue(ease, preset.PIDGains[index][8]); return node; }
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 = ""; }
public static void loadPresetsFromFile() { APPreset asstDefault = null; foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(apPresetNodeName)) { if (node == null) continue; List<double[]> gains = new List<double[]>(); gains.Add(controllerGains(node.GetNode(hdgCtrlr), AsstList.HdgBank)); gains.Add(controllerGains(node.GetNode(yawCtrlr), AsstList.BankToYaw)); gains.Add(controllerGains(node.GetNode(aileronCtrlr), AsstList.Aileron)); gains.Add(controllerGains(node.GetNode(rudderCtrlr), AsstList.Rudder)); gains.Add(controllerGains(node.GetNode(altCtrlr), AsstList.Altitude)); gains.Add(controllerGains(node.GetNode(vertCtrlr), AsstList.VertSpeed)); gains.Add(controllerGains(node.GetNode(elevCtrlr), AsstList.Elevator)); gains.Add(controllerGains(node.GetNode(speedCtrlr), AsstList.Speed)); gains.Add(controllerGains(node.GetNode(accelCtrlr), AsstList.Acceleration)); gains.Add(controllerGains(node.GetNode(cdiCtrlr), AsstList.CdiVelocity)); string name = node.GetValue("name"); if (name == apDefaultName) asstDefault = new APPreset(gains, name); else if (!instance.APPresetList.Any(p => p.name == name)) instance.APPresetList.Add(new APPreset(gains, name)); } /* foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName)) { if (node == null || node.GetValue("stock") == "false") continue; List<double[]> gains = new List<double[]>(); gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch)); gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank)); gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg)); string name = node.GetValue("name"); if (name == SASDefaultName) SASDefault = new SASPreset(gains, name); else if (!instance.SASPresetList.Any(p => p.name == name)) instance.SASPresetList.Add(new SASPreset(gains, name)); } */ foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName)) { if (node == null || instance.craftPresetDict.ContainsKey(node.GetValue("name"))) continue; string name = node.GetValue("name"); if (name == craftDefaultName) instance.craftPresetDict.Add(craftDefaultName, new CraftPreset(craftDefaultName, asstDefault)); else { CraftPreset cP = new CraftPreset(name, instance.APPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAPKey))); instance.craftPresetDict.Add(cP.Name, cP); } } }
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 initDefaultPresets(APPreset p) { initDefaultPresets(); if (Instance.craftPresetDict[craftDefaultName].apPreset == null) Instance.craftPresetDict[craftDefaultName].apPreset = p; PresetManager.saveDefaults(); }
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 loadPresetsFromFile() { APPreset asstDefault = null; foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(apPresetNodeName)) { if (node == null) { continue; } List <double[]> gains = new List <double[]>(); gains.Add(controllerGains(node.GetNode(hdgCtrlr), AsstList.HdgBank)); gains.Add(controllerGains(node.GetNode(yawCtrlr), AsstList.BankToYaw)); gains.Add(controllerGains(node.GetNode(aileronCtrlr), AsstList.Aileron)); gains.Add(controllerGains(node.GetNode(rudderCtrlr), AsstList.Rudder)); gains.Add(controllerGains(node.GetNode(altCtrlr), AsstList.Altitude)); gains.Add(controllerGains(node.GetNode(vertCtrlr), AsstList.VertSpeed)); gains.Add(controllerGains(node.GetNode(elevCtrlr), AsstList.Elevator)); gains.Add(controllerGains(node.GetNode(speedCtrlr), AsstList.Speed)); gains.Add(controllerGains(node.GetNode(accelCtrlr), AsstList.Acceleration)); gains.Add(controllerGains(node.GetNode(cdiCtrlr), AsstList.CdiVelocity)); string name = node.GetValue("name"); if (name == apDefaultName) { asstDefault = new APPreset(gains, name); } else if (!instance.APPresetList.Any(p => p.name == name)) { instance.APPresetList.Add(new APPreset(gains, name)); } } /* * foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName)) * { * if (node == null || node.GetValue("stock") == "false") * continue; * * List<double[]> gains = new List<double[]>(); * gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch)); * gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank)); * gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg)); * * string name = node.GetValue("name"); * if (name == SASDefaultName) * SASDefault = new SASPreset(gains, name); * else if (!instance.SASPresetList.Any(p => p.name == name)) * instance.SASPresetList.Add(new SASPreset(gains, name)); * } */ foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName)) { if (node == null || instance.craftPresetDict.ContainsKey(node.GetValue("name"))) { continue; } string name = node.GetValue("name"); if (name == craftDefaultName) { instance.craftPresetDict.Add(craftDefaultName, new CraftPreset(craftDefaultName, asstDefault)); } else { CraftPreset cP = new CraftPreset(name, instance.APPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAPKey))); instance.craftPresetDict.Add(cP.Name, cP); } } }
public static void updateCraftPreset(APPreset p, Vessel v) { initCraftPreset(v); Instance.craftPresetDict[v.vesselName].apPreset = p; }
public CraftPreset(string Name, APPreset PA) { name = Name; pa = PA; }