示例#1
0
        public StarSystem(Configuration configuration, string primaryDescriptor)
        {
            _configuration = configuration;
            Information    = new TravInfo(_configuration);
            var ComLumAddFromPrim = 0.0;

            SystemHabitability = 0;
            systemType         = SystemType.SOLO;
            Primary            = new Star(configuration, Star.CharToType(primaryDescriptor[0]), primaryDescriptor[1], primaryDescriptor[2]);
            Primary.BuildSystem(ComLumAddFromPrim);
            FleshOut();
        }
示例#2
0
        public StarSystem(Configuration configuration)
        {
            _configuration     = configuration;
            Information        = new TravInfo(_configuration);
            SystemHabitability = 0;
            var ComLumAddFromPrimary = 0.0;

            if (_configuration.Generation == GenerationType.FULL)
            {
                systemType = Nature(false);
                Primary    = new Star(configuration);
                if (systemType == SystemType.TRINARY)
                {
                    Primary.NumCompanions = 2;
                }
                else if (systemType == SystemType.BINARY)
                {
                    Primary.NumCompanions = 1;
                }
                Primary.BuildSystem(ComLumAddFromPrimary);
                for (var i = 0; i < Primary.NumCompanions; i++)
                {
                    var companion = new CompanionStar(configuration);
                    Primary.Companions.Add(companion);
                    var retry = false;
                    do
                    {
                        for (var j = 0; j < i - 1; j++)
                        {
                            if (Primary.Companions[i].OrbitNum == Primary.Companions[j].OrbitNum)
                            {
                                Primary.Companions.Remove(companion);
                                companion = new CompanionStar(configuration);
                                Primary.Companions.Add(companion);
                                retry = true;
                            }
                        }
                    } while (retry);
                    Primary.AvaialbleOribits(i);
                }
                FleshOut();

                // Get the BG string
                BG = string.Format("{0}{1}", Primary.Count(Planet.WorldType.PLANETOID),
                                   Primary.Count(Planet.WorldType.LGG) + Primary.Count(Planet.WorldType.SGG));
            }
            else
            {
                Generate();
            }
        }
示例#3
0
        public StarSystem(Configuration configuration, string primaryDescriptor, string secondaryDescriptor)
        {
            _configuration = configuration;
            Information    = new TravInfo(_configuration);
            var ComLumAddFromPrim = 0.0;

            SystemHabitability = 0;
            systemType         = SystemType.BINARY;
            Primary            = new Star(configuration, Star.CharToType(primaryDescriptor[0]), primaryDescriptor[1], primaryDescriptor[2]);
            Primary.BuildSystem(ComLumAddFromPrim);
            Primary.NumCompanions = 1;
            var companion = new CompanionStar(configuration, Star.CharToType(secondaryDescriptor[0]), secondaryDescriptor[1], secondaryDescriptor[2]);

            Primary.Companions.Add(companion);
            Primary.AvaialbleOribits(0);
            FleshOut();
        }
示例#4
0
        public StarSystem(Configuration configuration, string primaryDescriptor, string secondaryDescriptor, string trinaryDescriptor)
        {
            _configuration = configuration;
            Information    = new TravInfo(_configuration);
            var ComLumAddFromPrim = 0.0;

            SystemHabitability = 0;
            systemType         = SystemType.TRINARY;
            Primary            = new Star(configuration, Star.CharToType(primaryDescriptor[0]), primaryDescriptor[1], primaryDescriptor[2]);
            Primary.BuildSystem(ComLumAddFromPrim);
            Primary.NumCompanions = 2;
            var companion = new CompanionStar(configuration, Star.CharToType(secondaryDescriptor[0]), secondaryDescriptor[1], secondaryDescriptor[2]);

            Primary.Companions.Add(companion);

            companion = new CompanionStar(configuration, Star.CharToType(trinaryDescriptor[0]), trinaryDescriptor[1], trinaryDescriptor[2]);
            Primary.Companions.Add(companion);

            var retry = false;

            {
                retry = false;
                // Stop two companions existing iu the same orbit
                if (Primary.Companions[0].OrbitNum == Primary.Companions[1].OrbitNum)
                {
                    Primary.Companions.RemoveAt(1);
                    companion = new CompanionStar(configuration, Star.CharToType(trinaryDescriptor[0]), trinaryDescriptor[1], trinaryDescriptor[2]);
                    Primary.Companions.Add(companion);
                    retry = true;
                }
            } while (retry)
            {
                ;
            }
            Primary.AvaialbleOribits(0);
        }