/// <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)); } }
/// <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); });
/// <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)); } }