示例#1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="src"></param>
        public Constellation(Region owner, SerializableConstellation src)
            : base(src.Systems.Length)
        {
            m_id    = src.ID;
            m_name  = src.Name;
            m_owner = owner;

            foreach (var srcSystem in src.Systems)
            {
                m_items.Add(new SolarSystem(this, srcSystem));
            }
        }
示例#2
0
        /// <summary>
        /// Exports the constellations.
        /// </summary>
        /// <param name="srcRegion">The source region.</param>
        /// <returns></returns>
        private static IEnumerable <SerializableConstellation> ExportConstellations(IHasID srcRegion)
        => Database.MapConstellationsTable.Where(x => x.RegionID == srcRegion.ID)
        .Select(srcConstellation =>
        {
            SerializableConstellation constellation = new SerializableConstellation
            {
                ID   = srcConstellation.ID,
                Name = srcConstellation.Name
            };

            // Systems
            constellation.Systems.AddRange(ExportSystems(srcConstellation).OrderBy(x => x.Name));
            return(constellation);
        });
示例#3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="region">The region.</param>
        /// <param name="src">The source.</param>
        /// <exception cref="System.ArgumentNullException">src</exception>
        public Constellation(Region region, SerializableConstellation src)
            : base(src?.Systems.Count ?? 0)
        {
            src.ThrowIfNull(nameof(src));

            ID     = src.ID;
            Name   = src.Name;
            Region = region;

            foreach (SerializableSolarSystem srcSystem in src.Systems)
            {
                Items.Add(new SolarSystem(this, srcSystem));
            }
        }