/// <summary> /// Initializes a new instance of the <see cref="Station"/> class. /// </summary> /// <param name="owner">The owner.</param> /// <param name="src">The source.</param> /// <exception cref="System.ArgumentNullException">owner or src</exception> public Station(SolarSystem owner, SerializableStation src) : base(src?.Agents?.Count ?? 0) { owner.ThrowIfNull(nameof(owner)); src.ThrowIfNull(nameof(src)); ID = src.ID; Name = src.Name; CorporationID = src.CorporationID; CorporationName = src.CorporationName; SolarSystem = owner; ReprocessingStationsTake = src.ReprocessingStationsTake; ReprocessingEfficiency = src.ReprocessingEfficiency; FullLocation = GetFullLocation(owner, src.Name); if (src.Agents == null) { return; } foreach (SerializableAgent agent in src.Agents) { Items.Add(new Agent(this, agent)); } }
/// <summary> /// Constructor. /// </summary> /// <param name="src"></param> public Station(SolarSystem owner, SerializableStation src) { m_id = src.ID; m_name = src.Name; m_owner = owner; m_reprocessingTake = src.ReprocessingStationsTake; m_reprocessingEfficiency = src.ReprocessingEfficiency; }
/// <summary> /// Exports the stations. /// </summary> /// <param name="srcSystem">The SRC system.</param> /// <returns></returns> private static IEnumerable <SerializableStation> ExportStations(IHasID srcSystem) => Database.StaStationsTable.Where(x => x.SolarSystemID == srcSystem.ID) .Select(srcStation => { SerializableStation station = new SerializableStation { ID = srcStation.ID, Name = srcStation.Name, CorporationID = srcStation.CorporationID, CorporationName = Database.InvNamesTable[srcStation.CorporationID].Name, ReprocessingEfficiency = srcStation.ReprocessingEfficiency, ReprocessingStationsTake = srcStation.ReprocessingStationsTake }; // Agents station.Agents.AddRange(ExportAgents(srcStation)); return(station); });
/// <summary> /// Constructor. /// </summary> /// <param name="src"></param> public Station(SolarSystem owner, SerializableStation src) { m_id = src.ID; m_name = src.Name; m_corporationID = src.CorporationID; m_corporationName = src.CorporationName; m_owner = owner; m_reprocessingTake = src.ReprocessingStationsTake; m_reprocessingEfficiency = src.ReprocessingEfficiency; m_agents = new FastList <SerializableAgent>(src.Agents != null ? src.Agents.Length : 0); if (src.Agents == null) { return; } foreach (var agent in src.Agents) { m_agents.Add(agent); } }