public override void OnSave(ConfigNode node) { if (KCT_Utilities.CurrentGameIsMission()) { return; } // Boolean error = false; KCTDebug.Log("Writing to persistence."); base.OnSave(node); KCT_DataStorage kctVS = new KCT_DataStorage(); node.AddNode(kctVS.AsConfigNode()); foreach (KCT_KSC KSC in KCT_GameStates.KSCs) { if (KSC != null && KSC.KSCName != null && KSC.KSCName.Length > 0) { node.AddNode(KSC.AsConfigNode()); } } ConfigNode tech = new ConfigNode("TechList"); foreach (KCT_TechItem techItem in KCT_GameStates.TechList) { KCT_TechStorageItem techNode = new KCT_TechStorageItem(); techNode.FromTechItem(techItem); ConfigNode cnTemp = new ConfigNode("Tech"); cnTemp = ConfigNode.CreateConfigFromObject(techNode, cnTemp); ConfigNode protoNode = new ConfigNode("ProtoNode"); techItem.protoNode.Save(protoNode); cnTemp.AddNode(protoNode); tech.AddNode(cnTemp); } node.AddNode(tech); }
public override void OnSave(ConfigNode node) { if (Utilities.CurrentGameIsMission()) { return; } KCTDebug.Log("Writing to persistence."); base.OnSave(node); var kctVS = new KCT_DataStorage(); node.AddNode(kctVS.AsConfigNode()); foreach (KSCItem KSC in KCTGameStates.KSCs.Where(x => x?.KSCName?.Length > 0)) { node.AddNode(KSC.AsConfigNode()); } var tech = new ConfigNode("TechList"); foreach (TechItem techItem in KCTGameStates.TechList) { var techNode = new KCT_TechStorageItem(); techNode.FromTechItem(techItem); var cnTemp = new ConfigNode("Tech"); cnTemp = ConfigNode.CreateConfigFromObject(techNode, cnTemp); var protoNode = new ConfigNode("ProtoNode"); techItem.ProtoNode.Save(protoNode); cnTemp.AddNode(protoNode); tech.AddNode(cnTemp); } node.AddNode(tech); KCT_GUI.GuiDataSaver.Save(); }