Esempio n. 1
0
        /// <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));
            }
        }
Esempio n. 2
0
 /// <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;
 }
Esempio n. 3
0
        /// <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);
        });
Esempio n. 4
0
        /// <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);
            }
        }