public override void OnLoad(ConfigNode node) { base.OnLoad(node); if (userSettings != null) { userSettings.Load(); } if (bodySettings != null) { bodySettings.Load(); } if (node.HasNode("FLIGHTDATA_PART")) { if (partsFlightData == null) { partsFlightData = new List <PartFlightData>(); } foreach (ConfigNode partNode in node.GetNodes("FLIGHTDATA_PART")) { PartFlightData partData = new PartFlightData(); partData.Load(partNode); partsFlightData.Add(partData); partsPackedStrings.Add(partData.ToString()); } } }
public override void OnLoad(ConfigNode node) { base.OnLoad(node); if (userSettings != null) { userSettings.Load(); } if (bodySettings != null) { bodySettings.Load(); } InitDataStore(); if (node.HasValue("saveData")) { rawSaveData = node.GetValue("saveData"); } else { rawSaveData = ""; } decodeRawSaveData(); if (partData == null) { partData = new Dictionary <String, TestFlightPartData>(); } else { partData.Clear(); } // TODO: This old method of storing scope specific data is deprecated and needs to be removed in the next major release (Probably 1.4) if (node.HasNode("FLIGHTDATA_PART")) { foreach (ConfigNode partNode in node.GetNodes("FLIGHTDATA_PART")) { PartFlightData partFlightData = new PartFlightData(); partFlightData.Load(partNode); // migrates old data into new noscope layout TestFlightPartData storedPartData = new TestFlightPartData(); storedPartData.PartName = partFlightData.GetPartName(); // Add up all the data and time from the old system for each scope, and then save that as the new migrated vales double totalData = 0; double totalTime = 0; List <TestFlightData> allData = partFlightData.GetFlightData(); foreach (TestFlightData data in allData) { totalData += data.flightData; totalTime += data.flightTime; } storedPartData.SetValue("flightData", totalData.ToString()); storedPartData.SetValue("flightTime", totalTime.ToString()); partData.Add(storedPartData.PartName, storedPartData); } } // new noscope if (node.HasNode("partData")) { foreach (ConfigNode partDataNode in node.GetNodes("partData")) { TestFlightPartData storedPartData = new TestFlightPartData(); storedPartData.Load(partDataNode); partData.Add(storedPartData.PartName, storedPartData); } } }
public override void OnLoad(ConfigNode node) { base.OnLoad(node); if (userSettings != null) { userSettings.Load(); } if (bodySettings != null) bodySettings.Load(); InitDataStore(); if (node.HasValue("saveData")) rawSaveData = node.GetValue("saveData"); else rawSaveData = ""; decodeRawSaveData(); if (partData == null) partData = new Dictionary<String, TestFlightPartData>(); else partData.Clear(); // TODO: This old method of storing scope specific data is deprecated and needs to be removed in the next major release (Probably 1.4) if (node.HasNode("FLIGHTDATA_PART")) { foreach (ConfigNode partNode in node.GetNodes("FLIGHTDATA_PART")) { PartFlightData partFlightData = new PartFlightData(); partFlightData.Load(partNode); // migrates old data into new noscope layout TestFlightPartData storedPartData = new TestFlightPartData(); storedPartData.PartName = partFlightData.GetPartName(); // Add up all the data and time from the old system for each scope, and then save that as the new migrated vales double totalData = 0; double totalTime = 0; List<TestFlightData> allData = partFlightData.GetFlightData(); foreach (TestFlightData data in allData) { totalData += data.flightData; totalTime += data.flightTime; } storedPartData.SetValue("flightData", totalData.ToString()); storedPartData.SetValue("flightTime", totalTime.ToString()); partData.Add(storedPartData.PartName, storedPartData); } } // new noscope if (node.HasNode("partData")) { foreach (ConfigNode partDataNode in node.GetNodes("partData")) { TestFlightPartData storedPartData = new TestFlightPartData(); storedPartData.Load(partDataNode); partData.Add(storedPartData.PartName, storedPartData); } } }