コード例 #1
0
ファイル: Planet.cs プロジェクト: BeerSticks/PlanetSystems
 public void AddMoonByOrbitalRadius(Moon moon, double radius, double coveredAngle)
 {
     RemoveMoon(moon.Name);
     this.Moons.Add(moon);
     moon.AttachToPlanet(this);
     Physics.EnterOrbitByGivenRadius(ref moon, this, radius, coveredAngle);
 }
コード例 #2
0
ファイル: Planet.cs プロジェクト: BeerSticks/PlanetSystems
 public void AddMoonByOrbitalSpeed(Moon moon, double speed, double coveredAngle)
 {
     RemoveMoon(moon.Name);
     this.Moons.Add(moon);
     moon.AttachToPlanet(this);
     Physics.EnterOrbitByGivenSpeed(ref moon, this, speed, coveredAngle);
 }
コード例 #3
0
        public PlanetarySystem Clone()
        {
            PlanetarySystem clone     = new PlanetarySystem(this.Name);
            Star            cloneStar = new Star(this.Star);

            clone.SetStar(cloneStar);

            this.Planets.ToList().ForEach(pl =>
            {
                Planet clonePlanet = new Planet(pl);
                clone.AddPlanetNOTORBITALSAFE(clonePlanet);
                pl.Moons.ToList().ForEach(m =>
                {
                    Moon cloneMoon = new Moon(m);
                    pl.AddMoonNOTORBITALSAFE(cloneMoon);
                });
            });

            this.Asteroids.ToList().ForEach(a =>
            {
                Asteroid cloneAsteroid = new Asteroid(a);
                clone.AddAsteroid(cloneAsteroid);
            });

            this.ArtificialObjects.ToList().ForEach(artObj =>
            {
                ArtificialObject cloneArtObj = new ArtificialObject(artObj);
                clone.AddArtificialObject(cloneArtObj);
            });

            return(clone);
        }
コード例 #4
0
        public void AddMoonByOrbitalSpeed(Moon moon, Planet planet, double speed, double coveredAngle)
        {
            var dummy  = planet;
            var dummy2 = moon;

            planet.AddMoonByOrbitalSpeed(moon, speed, coveredAngle);
        }
コード例 #5
0
ファイル: Planet.cs プロジェクト: BeerSticks/PlanetSystems
 public void AddMoonNOTORBITALSAFE(Moon moon)
 {
     RemoveMoon(moon.Name);
     this.Moons.Add(moon);
     moon.AttachToPlanet(this);
 }
コード例 #6
0
 public void AddMoonNOTORBITALSAFE(Moon moon, Planet planet)
 {
     planet.AddMoonNOTORBITALSAFE(moon);
 }
コード例 #7
0
 public void AddMoonByOrbitalRadius(Moon moon, Planet planet, double radius, double coveredAngle)
 {
     planet.AddMoonByOrbitalRadius(moon, radius, coveredAngle);
 }
コード例 #8
0
ファイル: Moon.cs プロジェクト: BeerSticks/PlanetSystems
 public Moon(Moon moon)
     : this(moon.Center, moon.Mass, moon.Radius, moon.Velocity, moon.Name)
 {
 }