Ejemplo n.º 1
0
        public StarSystemObject GenerateRandomPlanetSystem(ref int id)
        {
            var mainPlanet = StarSystemObject.GenerateOne(in DefaultPlanetProperties, this, ref id);

            StarSystemObject.GenerateTree(mainPlanet, DefaultMoonProperties, this, ref id, 0);
            return(mainPlanet);
        }
Ejemplo n.º 2
0
        public static StarSystem CreateRandomStarSystem(ref int id)
        {
            var planets = Random.Range(1, 6);

            var sun = EntityFactories.StarFactory.GenerateRandomStar(ref id);

            // Генерируем планеты и сразу вставляем их к звезде.
            for (var i = 0; i < planets; i++)
            {
                sun.AddChild(EntityFactories.PlanetFactory.GenerateRandomPlanetSystem(ref id));
            }

            var starSystem = new StarSystem(new InGalaxyRelation(0), sun);

            var starSystemObject = StarSystemObject.NewInvalid;

            StarSystemObject.CalculatePositions(starSystem.RootSystemObject, ref starSystemObject);

            return(starSystem);
        }