public static void loadSASPreset(SASPreset p, Stock_SAS instance) { instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.kp = p.PIDGains[(int)SASList.Pitch, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.ki = p.PIDGains[(int)SASList.Pitch, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.kd = p.PIDGains[(int)SASList.Pitch, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.clamp = p.PIDGains[(int)SASList.Pitch, 3]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.kp = p.PIDGains[(int)SASList.Bank, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.ki = p.PIDGains[(int)SASList.Bank, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.kd = p.PIDGains[(int)SASList.Bank, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.clamp = p.PIDGains[(int)SASList.Bank, 3]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.kp = p.PIDGains[(int)SASList.Hdg, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.ki = p.PIDGains[(int)SASList.Hdg, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.kd = p.PIDGains[(int)SASList.Hdg, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.clamp = p.PIDGains[(int)SASList.Hdg, 3]; Instance.activeSASPreset = p; if (Instance.activeSASPreset != Instance.craftPresetDict[craftDefaultName].SASPreset) { updateCraftPreset(p, instance.vesModule.vesselRef); } saveToFile(); }
public static void loadStockSASPreset(SASPreset p) { FlightData.thisVessel.Autopilot.SAS.pidLockedPitch.kp = p.PIDGains[(int)SASList.Pitch, 0]; FlightData.thisVessel.Autopilot.SAS.pidLockedPitch.ki = p.PIDGains[(int)SASList.Pitch, 1]; FlightData.thisVessel.Autopilot.SAS.pidLockedPitch.kd = p.PIDGains[(int)SASList.Pitch, 2]; FlightData.thisVessel.Autopilot.SAS.pidLockedPitch.clamp = p.PIDGains[(int)SASList.Pitch, 3]; FlightData.thisVessel.Autopilot.SAS.pidLockedRoll.kp = p.PIDGains[(int)SASList.Roll, 0]; FlightData.thisVessel.Autopilot.SAS.pidLockedRoll.ki = p.PIDGains[(int)SASList.Roll, 1]; FlightData.thisVessel.Autopilot.SAS.pidLockedRoll.kd = p.PIDGains[(int)SASList.Roll, 2]; FlightData.thisVessel.Autopilot.SAS.pidLockedRoll.clamp = p.PIDGains[(int)SASList.Roll, 3]; FlightData.thisVessel.Autopilot.SAS.pidLockedYaw.kp = p.PIDGains[(int)SASList.Yaw, 0]; FlightData.thisVessel.Autopilot.SAS.pidLockedYaw.ki = p.PIDGains[(int)SASList.Yaw, 1]; FlightData.thisVessel.Autopilot.SAS.pidLockedYaw.kd = p.PIDGains[(int)SASList.Yaw, 2]; FlightData.thisVessel.Autopilot.SAS.pidLockedYaw.clamp = p.PIDGains[(int)SASList.Yaw, 3]; Instance.activeStockSASPreset = p; if (Instance.craftPresetList.ContainsKey(FlightData.thisVessel.vesselName) && Instance.activeStockSASPreset != Instance.craftPresetList[craftDefault].StockPreset) { Instance.craftPresetList[FlightData.thisVessel.vesselName].StockPreset = Instance.activeStockSASPreset; } else if (!Instance.craftPresetList.ContainsKey(FlightData.thisVessel.vesselName) && Instance.activeStockSASPreset != Instance.craftPresetList[craftDefault].StockPreset) { Instance.craftPresetList.Add(FlightData.thisVessel.vesselName, new CraftPreset(FlightData.thisVessel.vesselName, Instance.activePAPreset == Instance.craftPresetList[craftDefault].AsstPreset ? null : Instance.activePAPreset, Instance.activeSASPreset == Instance.craftPresetList[craftDefault].SSASPreset ? null : Instance.activeSASPreset, Instance.activeStockSASPreset == Instance.craftPresetList[craftDefault].StockPreset ? null : Instance.activeStockSASPreset, SurfSAS.Instance.bStockSAS)); } saveToFile(); }
public static void loadSASPreset(SASPreset p) { PID_Controller[] c = SurfSAS.SASControllers; foreach (SASList s in Enum.GetValues(typeof(SASList))) { c[(int)s].PGain = p.PIDGains[(int)s, 0]; c[(int)s].IGain = p.PIDGains[(int)s, 1]; c[(int)s].DGain = p.PIDGains[(int)s, 2]; c[(int)s].Scalar = p.PIDGains[(int)s, 3]; SurfSAS.Instance.fadeReset[(int)s] = (float)p.PIDGains[(int)s, 4]; } Instance.activeSASPreset = p; if (Instance.craftPresetList.ContainsKey(FlightData.thisVessel.vesselName) && Instance.activeSASPreset != Instance.craftPresetList[craftDefault].SSASPreset) { Instance.craftPresetList[FlightData.thisVessel.vesselName].SSASPreset = Instance.activeSASPreset; } else if (!Instance.craftPresetList.ContainsKey(FlightData.thisVessel.vesselName) && Instance.activeSASPreset != Instance.craftPresetList[craftDefault].SSASPreset) { Instance.craftPresetList.Add(FlightData.thisVessel.vesselName, new CraftPreset(FlightData.thisVessel.vesselName, Instance.activePAPreset == Instance.craftPresetList[craftDefault].AsstPreset ? null : Instance.activePAPreset, Instance.activeSASPreset == Instance.craftPresetList[craftDefault].SSASPreset ? null : Instance.activeSASPreset, Instance.activeStockSASPreset == Instance.craftPresetList[craftDefault].StockPreset ? null : Instance.activeStockSASPreset, SurfSAS.Instance.bStockSAS)); } saveToFile(); }
public static void deleteSASPreset(SASPreset p) { if (Instance.activeSASPreset == p && !p.bStockSAS) { Instance.activeSASPreset = null; } else if (Instance.activeStockSASPreset == p && p.bStockSAS) { Instance.activeStockSASPreset = null; } Instance.SASPresetList.Remove(p); foreach (KeyValuePair <string, CraftPreset> cp in instance.craftPresetList) { if (!p.bStockSAS) { if (cp.Value != null && cp.Value.SSASPreset == p) { cp.Value.SSASPreset = null; } } else { if (cp.Value != null && cp.Value.StockPreset == p) { cp.Value.StockPreset = null; } } } saveToFile(); }
public static void initDefaultPresets(SASPreset p) { initDefaultPresets(); if (ReferenceEquals(Instance.craftPresetDict[craftDefaultName].SASPreset, null)) { Instance.craftPresetDict[craftDefaultName].SASPreset = p; } PresetManager.saveDefaults(); }
public static ConfigNode PIDnode(string name, int index, SASPreset 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(scalar, preset.PIDGains[index, 3]); return(node); }
public static ConfigNode SASPresetNode(SASPreset preset) { ConfigNode node = new ConfigNode(sasPresetNodeName); node.AddValue("name", preset.name); node.AddNode(PIDnode(aileronCtrlr, (int)SASList.Bank, preset)); node.AddNode(PIDnode(rudderCtrlr, (int)SASList.Hdg, preset)); node.AddNode(PIDnode(elevCtrlr, (int)SASList.Pitch, preset)); return(node); }
public static ConfigNode SASPresetNode(SASPreset preset) { ConfigNode node = new ConfigNode(sasPreset); node.AddValue("name", preset.name); node.AddValue("stock", preset.bStockSAS); node.AddNode(PIDnode(aileronCtrlr, (int)SASList.Roll, preset)); node.AddNode(PIDnode(rudderCtrlr, (int)SASList.Yaw, preset)); node.AddNode(PIDnode(elevCtrlr, (int)SASList.Pitch, preset)); return(node); }
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(); }
public static void newSASPreset(ref string name, Vessel v) { if (string.IsNullOrEmpty(name)) { return; } string nameTest = name; if (Instance.SASPresetList.Any(p => p.name == nameTest)) { return; } SASPreset newPreset = new SASPreset(v.Autopilot.SAS, name); Instance.SASPresetList.Add(newPreset); updateCraftPreset(newPreset, v); Instance.activeSASPreset = Instance.SASPresetList.Last(); saveToFile(); name = ""; }
public static void loadPresetsFromFile() { AsstPreset asstDefault = null; SASPreset SASDefault = null; SSASPreset SSASDefault = null; RSASPreset RSASDefault = null; foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(asstPresetNodeName)) { if (ReferenceEquals(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)); string name = node.GetValue("name"); if (name == asstDefaultName) asstDefault = new AsstPreset(gains, name); else if (!instance.AsstPresetList.Any(p => p.name == name)) instance.AsstPresetList.Add(new AsstPreset(gains, name)); } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName)) { if (ReferenceEquals(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(ssasPresetNodeName)) { if (ReferenceEquals(node, null)) 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 == ssasDefaultName) SSASDefault = new SSASPreset(gains, name); else if (!instance.SSASPresetList.Any(p => p.name == name)) instance.SSASPresetList.Add(new SSASPreset(gains, name)); } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(rsasPresetNodeName)) { if (ReferenceEquals(node, null)) 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 == RSASDefaultName) RSASDefault = new RSASPreset(gains, name); else if (!instance.RSASPresetList.Any(p => p.name == name)) instance.RSASPresetList.Add(new RSASPreset(gains, name)); } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName)) { if (ReferenceEquals(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, SSASDefault, SASDefault, RSASDefault)); else { CraftPreset cP = new CraftPreset(name, instance.AsstPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAsstKey)), instance.SSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSSASKey)), instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSASKey)), instance.RSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftRSASKey))); instance.craftPresetDict.Add(cP.Name, cP); } } }
public static void updateCraftPreset(SASPreset p, Vessel v) { initCraftPreset(v); Instance.craftPresetDict[v.vesselName].SASPreset = p; }
public static void loadSASPreset(SASPreset p, Stock_SAS instance) { instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.kp = p.PIDGains[(int)SASList.Pitch, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.ki = p.PIDGains[(int)SASList.Pitch, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.kd = p.PIDGains[(int)SASList.Pitch, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedPitch.clamp = p.PIDGains[(int)SASList.Pitch, 3]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.kp = p.PIDGains[(int)SASList.Bank, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.ki = p.PIDGains[(int)SASList.Bank, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.kd = p.PIDGains[(int)SASList.Bank, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedRoll.clamp = p.PIDGains[(int)SASList.Bank, 3]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.kp = p.PIDGains[(int)SASList.Hdg, 0]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.ki = p.PIDGains[(int)SASList.Hdg, 1]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.kd = p.PIDGains[(int)SASList.Hdg, 2]; instance.vesModule.vesselRef.Autopilot.SAS.pidLockedYaw.clamp = p.PIDGains[(int)SASList.Hdg, 3]; Instance.activeSASPreset = p; if (Instance.activeSASPreset != Instance.craftPresetDict[craftDefaultName].SASPreset) updateCraftPreset(p, instance.vesModule.vesselRef); saveToFile(); }
public static void newSASPreset(ref string name, Vessel v) { if (string.IsNullOrEmpty(name)) return; string nameTest = name; if (Instance.SASPresetList.Any(p => p.name == nameTest)) return; SASPreset newPreset = new SASPreset(v.Autopilot.SAS, name); Instance.SASPresetList.Add(newPreset); updateCraftPreset(newPreset, v); Instance.activeSASPreset = Instance.SASPresetList.Last(); saveToFile(); name = ""; }
public static void initDefaultPresets(SASPreset p) { initDefaultPresets(); if (ReferenceEquals(Instance.craftPresetDict[craftDefaultName].SASPreset, null)) Instance.craftPresetDict[craftDefaultName].SASPreset = p; PresetManager.saveDefaults(); }
public static ConfigNode PIDnode(string name, int index, SASPreset 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(scalar, preset.PIDGains[index, 3]); return node; }
public static void loadPresetsFromFile() { AsstPreset asstDefault = null; SASPreset SASDefault = null; SSASPreset SSASDefault = null; RSASPreset RSASDefault = null; foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(asstPresetNodeName)) { if (ReferenceEquals(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)); string name = node.GetValue("name"); if (name == asstDefaultName) { asstDefault = new AsstPreset(gains, name); } else if (!instance.AsstPresetList.Any(p => p.name == name)) { instance.AsstPresetList.Add(new AsstPreset(gains, name)); } } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName)) { if (ReferenceEquals(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(ssasPresetNodeName)) { if (ReferenceEquals(node, null)) { 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 == ssasDefaultName) { SSASDefault = new SSASPreset(gains, name); } else if (!instance.SSASPresetList.Any(p => p.name == name)) { instance.SSASPresetList.Add(new SSASPreset(gains, name)); } } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(rsasPresetNodeName)) { if (ReferenceEquals(node, null)) { 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 == RSASDefaultName) { RSASDefault = new RSASPreset(gains, name); } else if (!instance.RSASPresetList.Any(p => p.name == name)) { instance.RSASPresetList.Add(new RSASPreset(gains, name)); } } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName)) { if (ReferenceEquals(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, SSASDefault, SASDefault, RSASDefault)); } else { CraftPreset cP = new CraftPreset(name, instance.AsstPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAsstKey)), instance.SSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSSASKey)), instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSASKey)), instance.RSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftRSASKey))); instance.craftPresetDict.Add(cP.Name, cP); } } }
public static ConfigNode SASPresetNode(SASPreset preset) { ConfigNode node = new ConfigNode(sasPresetNodeName); node.AddValue("name", preset.name); node.AddNode(PIDnode(aileronCtrlr, (int)SASList.Bank, preset)); node.AddNode(PIDnode(rudderCtrlr, (int)SASList.Hdg, preset)); node.AddNode(PIDnode(elevCtrlr, (int)SASList.Pitch, preset)); return node; }
public static void loadPresetsFromFile() { AsstPreset asst = null; SASPreset SSAS = null, stock = null; foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(asstPreset)) { if (node == null) { continue; } List <double[]> gains = new List <double[]>(); gains.Add(controllerGains(node.GetNode(hdgCtrlr), PIDList.HdgBank)); gains.Add(controllerGains(node.GetNode(yawCtrlr), PIDList.HdgYaw)); gains.Add(controllerGains(node.GetNode(aileronCtrlr), PIDList.Aileron)); gains.Add(controllerGains(node.GetNode(rudderCtrlr), PIDList.Rudder)); gains.Add(controllerGains(node.GetNode(altCtrlr), PIDList.Altitude)); gains.Add(controllerGains(node.GetNode(vertCtrlr), PIDList.VertSpeed)); gains.Add(controllerGains(node.GetNode(elevCtrlr), PIDList.Elevator)); gains.Add(controllerGains(node.GetNode(throttleCtrlr), PIDList.Throttle)); if (node.GetValue("name") != craftDefault && !instance.PAPresetList.Any(p => p.name == node.GetValue("name"))) { instance.PAPresetList.Add(new AsstPreset(gains, node.GetValue("name"))); } else if (node.GetValue("name") == asstDefault) { asst = new AsstPreset(gains, node.GetValue("name")); } } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPreset)) { if (node == null) { continue; } List <double[]> gains = new List <double[]>(); gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch)); gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Roll)); gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Yaw)); if ((node.GetValue("name") != ssasDefault && node.GetValue("name") != stockDefault) && !instance.SASPresetList.Any(p => p.name == node.GetValue("name"))) { instance.SASPresetList.Add(new SASPreset(gains, node.GetValue("name"), bool.Parse(node.GetValue("stock")))); } else { if (node.GetValue("name") == ssasDefault) { SSAS = new SASPreset(gains, node.GetValue("name"), false); } else if (node.GetValue("name") == stockDefault) { stock = new SASPreset(gains, node.GetValue("name"), true); } } } foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPreset)) { if (node == null || instance.craftPresetList.ContainsKey(node.GetValue("name"))) { continue; } bool bStock; bool.TryParse(node.GetValue(craftSasMode), out bStock); if (node.GetValue("name") == craftDefault) { instance.craftPresetList.Add(craftDefault, new CraftPreset(craftDefault, asst, SSAS, stock, bStock)); } else { CraftPreset cP = new CraftPreset(node.GetValue("name"), instance.PAPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAsst)), instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSSAS)), instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftStock)), bStock); instance.craftPresetList.Add(cP.Name, cP); } } }
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(); }