public void Load(ConfigNode node) { KnownVessels.Clear(); if (node.HasNode(configNodeName)) { ConfigNode AYsettingsNode = node.GetNode(configNodeName); node.TryGetValue("Enabled", ref Enabled); KnownVessels.Clear(); var vesselNodes = AYsettingsNode.GetNodes(VesselInfo.ConfigNodeName); foreach (ConfigNode vesselNode in vesselNodes) { if (vesselNode.HasValue("Guid")) { //String id = vesselNode.GetValue("Guid"); Guid id = new Guid(vesselNode.GetValue("Guid")); RSTUtils.Utilities.Log_Debug("AYGameSettings Loading Guid = {0}", id.ToString()); VesselInfo vesselInfo = VesselInfo.Load(vesselNode); KnownVessels[id] = vesselInfo; } } } RSTUtils.Utilities.Log_Debug("AYGameSettings Loading Complete"); }
public static VesselInfo Load(ConfigNode node) { string vesselName = ""; node.TryGetValue("vesselName", ref vesselName); double lastUpdate = 0; node.TryGetValue("lastUpdate", ref lastUpdate); VesselInfo info = new VesselInfo(vesselName, lastUpdate); info.VesselType = Utilities.GetNodeValue(node, "vesselType", VesselType.Unknown); node.TryGetValue("numCrew", ref info.NumCrew); node.TryGetValue("numOccupiedParts", ref info.NumOccupiedParts); for (int i = 0; i < LoadGlobals.SubsystemArrayCache.Length; i++) // Enum.GetValues(typeof(Subsystem)).Length; i++) { string nme = ((Subsystem)i).ToString(); node.TryGetValue(nme + "Toggle", ref info.SubsystemToggle[i]); node.TryGetValue(nme + "Drain", ref info.SubsystemDrain[i]); } for (int i = 0; i < LoadGlobals.GuiSectionArrayCache.Length; i++) // Enum.GetValues(typeof(GUISection)).Length; i++) { string nme = ((GUISection)i).ToString(); node.TryGetValue(nme + "Flag", ref info.GuiSectionEnableFlag[i]); } node.TryGetValue("managerEnabled", ref info.ManagerEnabled); node.TryGetValue("ShowCrew", ref info.ShowCrew); node.TryGetValue("ShowParts", ref info.ShowParts); node.TryGetValue("hibernating", ref info.Hibernating); node.TryGetValue("EmgcyShutActive", ref info.EmgcyShutActive); node.TryGetValue("AutoPilotDisabled", ref info.AutoPilotDisabled); node.TryGetValue("AutoPilotDisTime", ref info.AutoPilotDisTime); node.TryGetValue("AutoPilotDisCounter", ref info.AutoPilotDisCounter); node.TryGetValue("timeLastElectricity", ref info.TimeLastElectricity); node.TryGetValue("EmgcyShutOverride", ref info.EmgcyShutOverride); node.TryGetValue("EmgcyShutOverrideStarted", ref info.EmgcyShutOverrideStarted); node.TryGetValue("Emergencypowerdownreset", ref info.Emergencypowerdownreset); node.TryGetValue("Emergencypowerdownresetprevactivated", ref info.Emergencypowerdownresetprevactivated); node.TryGetValue("Emergencypowerdownactivated", ref info.Emergencypowerdownactivated); node.TryGetValue("Emergencypowerdownprevactivated", ref info.Emergencypowerdownprevactivated); node.TryGetValue("ESPPriorityHighProcessed", ref info.ESPPriorityHighProcessed); node.TryGetValue("ESPPriorityMediumProcessed", ref info.ESPPriorityMediumProcessed); node.TryGetValue("ESPPriorityLowProcessed", ref info.ESPPriorityLowProcessed); node.TryGetValue("ESPPriorityHighResetProcessed", ref info.ESPPriorityHighResetProcessed); node.TryGetValue("ESPPriorityMediumResetProcessed", ref info.ESPPriorityMediumResetProcessed); node.TryGetValue("ESPPriorityLowResetProcessed", ref info.ESPPriorityLowResetProcessed); int tmpEspPriority = 1; node.TryGetValue("ESPPriority", ref tmpEspPriority); info.EspPriority = (ESPPriority)tmpEspPriority; node.TryGetValue("ReenableRcs", ref info.ReenableRcs); node.TryGetValue("ReenableSas", ref info.ReenableSas); node.TryGetValue("IsolateReservePower", ref info.IsolateReservePower); return(info); }