コード例 #1
0
        private static List <ISpaceCraft> BuildF9(IMassiveBody planet, Payload payload, string craftDirectory, float offset = 0)
        {
            var demoSat = new DemoSat(craftDirectory, planet.Position + new DVector2(offset, -planet.SurfaceRadius),
                                      planet.Velocity + new DVector2(-400, 0), payload.DryMass, payload.PropellantMass);

            var f9S1 = new F9S1(craftDirectory, DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(craftDirectory, DVector2.Zero, DVector2.Zero, 13.3);

            demoSat.AddChild(f9S2);
            f9S2.SetParent(demoSat);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                demoSat, f9S2, f9S1
            });
        }
コード例 #2
0
        private static List <ISpaceCraft> BuildF9Dragon(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var dragon      = new Dragon(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset, planet.Velocity, config.PayloadMass);
            var dragonTrunk = new DragonTrunk(craftDirectory, DVector2.Zero, DVector2.Zero);

            var f9S1 = new F9S1(craftDirectory, DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(craftDirectory, DVector2.Zero, DVector2.Zero, 8.3);

            dragon.AddChild(dragonTrunk);
            dragonTrunk.SetParent(dragon);
            dragonTrunk.AddChild(f9S2);
            f9S2.SetParent(dragonTrunk);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                dragon, dragonTrunk, f9S2, f9S1
            });
        }
コード例 #3
0
        public static List <ISpaceCraft> BuildF9Dragon(IMassiveBody planet, string path)
        {
            var dragon      = new Dragon(planet.Position + new DVector2(0, -planet.SurfaceRadius), planet.Velocity);
            var dragonTrunk = new DragonTrunk(DVector2.Zero, DVector2.Zero);

            var f9S1 = new F9S1(DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(DVector2.Zero, DVector2.Zero, 8.3);

            dragon.AddChild(dragonTrunk);
            dragonTrunk.SetParent(dragon);
            dragonTrunk.AddChild(f9S2);
            f9S2.SetParent(dragonTrunk);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                dragon, dragonTrunk, f9S2, f9S1
            });
        }
コード例 #4
0
        public static List <ISpaceCraft> BuildF9(IMassiveBody planet, string path)
        {
            Payload payload = GetPayload(path);

            var demoSat = new DemoSat(planet.Position + new DVector2(0, -planet.SurfaceRadius),
                                      planet.Velocity + new DVector2(-400, 0), payload.DryMass, payload.PropellantMass);

            var f9S1 = new F9S1(DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(DVector2.Zero, DVector2.Zero, 13.3);

            demoSat.AddChild(f9S2);
            f9S2.SetParent(demoSat);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                demoSat, f9S2, f9S1
            });
        }
コード例 #5
0
        private static List <ISpaceCraft> BuildX37B(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var x37b = new X37B(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset, planet.Velocity, config.PayloadMass);

            var fairingLeft  = new Fairing(craftDirectory, x37b.Position, DVector2.Zero, true);
            var fairingRight = new Fairing(craftDirectory, x37b.Position, DVector2.Zero, false);

            x37b.AttachFairings(fairingLeft, fairingRight);

            var f9S1 = new F9S1(craftDirectory, DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(craftDirectory, DVector2.Zero, DVector2.Zero, 11.2);

            x37b.AddChild(f9S2);
            f9S2.SetParent(x37b);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                x37b, f9S2, f9S1, fairingLeft, fairingRight
            });
        }