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"); } }
public RegisteredDockingPort Copy() { var copy = new RegisteredDockingPort(); copy.flightId = flightId; copy.Name = Name; return(copy); }
public List <RegisteredDockingPort> GetRegisteredDockingPortsList() { List <RegisteredDockingPort> list = new List <RegisteredDockingPort>(); foreach (RegisteredDockingPort dockingPort in RegisteredDockingPorts) { RegisteredDockingPort dockingPortCopy = dockingPort.Copy(); list.Add(dockingPortCopy); } return(list); }
public void SetRegisteredDockingPort(uint flightID, string name) { if (flightID == 0) { return; } // search for existing port RegisteredDockingPort existingDockingPort = null; foreach (RegisteredDockingPort dockingPort in RegisteredDockingPorts) { if (dockingPort.flightId == flightID) { existingDockingPort = dockingPort; break; } } // edit port if (existingDockingPort != null) { if (String.IsNullOrEmpty(name.Trim())) { // unregister RegisteredDockingPorts.Remove(existingDockingPort); } else { // change existingDockingPort.Name = name; } return; } // new port if (!String.IsNullOrEmpty(name.Trim())) { // register new RegisteredDockingPort newDockingPort = new RegisteredDockingPort(); newDockingPort.flightId = flightID; newDockingPort.Name = name; RegisteredDockingPorts.Add(newDockingPort); } }