public override void OnSave(ConfigNode gameNode) { base.OnSave(gameNode); try { ConfigNode registeredLocations = new ConfigNode("REGISTEREDLOCATIONS"); foreach (RegisteredDockingPort registeredDockingPort in this.RegisteredDockingPorts) { ConfigNode dockingPortConfig = ConfigNode.CreateConfigFromObject(registeredDockingPort); dockingPortConfig.name = "DOCKINGPORT"; registeredLocations.AddNode(dockingPortConfig); } gameNode.AddNode(registeredLocations); ConfigNode orderedMissions = new ConfigNode("ORDEREDMISSIONS"); foreach (OrderedMission orderedMission in this.OrderedMissions) { ConfigNode orderedMissionConfig = orderedMission.SaveNode(); orderedMissions.AddNode(orderedMissionConfig); } gameNode.AddNode(orderedMissions); } catch { LoggerRmm.Error("Rmm: saving to savefile failed"); } }
public override void OnLoad(ConfigNode gameNode) { base.OnLoad(gameNode); this.RegisteredDockingPorts.Clear(); this.OrderedMissions.Clear(); try { ConfigNode registeredLocations = gameNode.GetNode("REGISTEREDLOCATIONS"); if (registeredLocations != null) { foreach (ConfigNode dockingPortConfig in registeredLocations.GetNodes("DOCKINGPORT")) { RegisteredDockingPort dockingPort = ConfigNode.CreateObjectFromConfig <RegisteredDockingPort>(dockingPortConfig); this.RegisteredDockingPorts.Add(dockingPort); } } ConfigNode orderedMissions = gameNode.GetNode("ORDEREDMISSIONS"); if (orderedMissions != null) { foreach (ConfigNode orderedMissionConfig in orderedMissions.GetNodes("ORDEREDMISSION")) { OrderedMission orderedMission = OrderedMission.LoadNode(orderedMissionConfig); this.OrderedMissions.Add(orderedMission); } } } catch { LoggerRmm.Error("RMM: loading from savefile failed"); } }