public override void OnLoad(ConfigNode node) { base.OnLoad(node); LoadTree(); #if KSP1_4 // 1.4 Addition if (KCT_Utilities.CurrentGameIsMission()) { return; } #endif KCTDebug.Log("Reading from persistence."); KCT_GameStates.KSCs.Clear(); KCT_GameStates.ActiveKSC = null; //KCT_Utilities.SetActiveKSC("Stock"); KCT_GameStates.InitAndClearTechList(); KCT_GameStates.TechUpgradesTotal = 0; KCT_GameStates.SciPointsTotal = -1; KCT_DataStorage kctVS = new KCT_DataStorage(); ConfigNode CN = node.GetNode(kctVS.GetType().Name); if (CN != null) { ConfigNode.LoadObjectFromConfig(kctVS, CN); } foreach (ConfigNode ksc in node.GetNodes("KSC")) { string name = ksc.GetValue("KSCName"); KCT_KSC loaded_KSC = new KCT_KSC(name); loaded_KSC.FromConfigNode(ksc); if (loaded_KSC != null && loaded_KSC.KSCName != null && loaded_KSC.KSCName.Length > 0) { loaded_KSC.RDUpgrades[1] = KCT_GameStates.TechUpgradesTotal; if (KCT_GameStates.KSCs.Find(k => k.KSCName == loaded_KSC.KSCName) == null) { KCT_GameStates.KSCs.Add(loaded_KSC); } } } KCT_Utilities.SetActiveKSCToRSS(); ConfigNode tmp = node.GetNode("TechList"); if (tmp != null) { foreach (ConfigNode techNode in tmp.GetNodes("Tech")) { KCT_TechStorageItem techStorageItem = new KCT_TechStorageItem(); ConfigNode.LoadObjectFromConfig(techStorageItem, techNode); KCT_TechItem techItem = techStorageItem.ToTechItem(); techItem.protoNode = new ProtoTechNode(techNode.GetNode("ProtoNode")); KCT_GameStates.TechList.Add(techItem); } } KCT_GUI.CheckToolbar(); KCT_GameStates.erroredDuringOnLoad.OnLoadFinish(); //KerbalConstructionTime.DelayedStart(); }
public override void OnLoad(ConfigNode node) { KCTDebug.Log("Reading from persistence."); base.OnLoad(node); KCT_GameStates.KSCs.Clear(); KCT_GameStates.ActiveKSC = null; //KCT_Utilities.SetActiveKSC("Stock"); KCT_GameStates.TechList.Clear(); KCT_GameStates.TechUpgradesTotal = 0; KCT_DataStorage kctVS = new KCT_DataStorage(); ConfigNode CN = node.GetNode(kctVS.GetType().Name); if (CN != null) { ConfigNode.LoadObjectFromConfig(kctVS, CN); } foreach (ConfigNode ksc in node.GetNodes("KSC")) { string name = ksc.GetValue("KSCName"); KCT_KSC loaded_KSC = new KCT_KSC(name); loaded_KSC.FromConfigNode(ksc); if (loaded_KSC != null && loaded_KSC.KSCName != null && loaded_KSC.KSCName.Length > 0) { loaded_KSC.RDUpgrades[1] = KCT_GameStates.TechUpgradesTotal; if (KCT_GameStates.KSCs.Find(k => k.KSCName == loaded_KSC.KSCName) == null) { KCT_GameStates.KSCs.Add(loaded_KSC); } } } //KCT_Utilities.SetActiveKSCToRSS(); KCT_Utilities.SetActiveKSC(KCT_GameStates.activeKSCName); ConfigNode tmp = node.GetNode("TechList"); if (tmp != null) { foreach (ConfigNode techNode in tmp.GetNodes("Tech")) { KCT_TechStorageItem techStorageItem = new KCT_TechStorageItem(); ConfigNode.LoadObjectFromConfig(techStorageItem, techNode); KCT_TechItem techItem = techStorageItem.ToTechItem(); techItem.protoNode = new ProtoTechNode(techNode.GetNode("ProtoNode")); KCT_GameStates.TechList.Add(techItem); } } //KCT_GameStates.ActiveKSC.AsConfigNode().Save(KSPUtil.ApplicationRootPath + "/KSC.node"); KerbalConstructionTime.DelayedStart(); KCT_GUI.CheckToolbar(); KCT_GameStates.erroredDuringOnLoad.OnLoadFinish(); }