private static List <ISpaceCraft> BuildGreyDragonFH(IMassiveBody planet, MissionConfig config, string craftDirectory) { var dragon = new GreyDragon.GreyDragon(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius), planet.Velocity, config.PayloadMass, 446); var dragonTrunk = new DragonV2Trunk(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero); dragon.AddChild(dragonTrunk); dragonTrunk.SetParent(dragon); dragonTrunk.AddChild(fhS2); fhS2.SetParent(dragonTrunk); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { dragon, dragonTrunk, fhS2, fhS1, fhLeftBooster, fhRightBooster }); }
private static List <ISpaceCraft> BuildFalconHeavy(IMassiveBody planet, MissionConfig config, string craftDirectory) { var demoSat = new DemoSat(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset, planet.Velocity + new DVector2(-400, 0) + config.VelocityOffset, config.PayloadMass); var fairingLeft = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, true); var fairingRight = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, false); demoSat.AttachFairings(fairingLeft, fairingRight); var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero); demoSat.AddChild(fhS2); fhS2.SetParent(demoSat); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { demoSat, fhS2, fhS1, fhLeftBooster, fhRightBooster }); }
private static List <ISpaceCraft> BuildFalconHeavyDemo(IMassiveBody planet, MissionConfig config, string craftDirectory) { var roadster = new Roadster(craftDirectory, planet.Position + new DVector2(planet.SurfaceRadius, 0) + config.PositionOffset, planet.Velocity + new DVector2(0, -400) + config.VelocityOffset, config.PayloadMass); var fairingLeft = new Fairing(craftDirectory, roadster.Position, DVector2.Zero, true, -5.0); var fairingRight = new Fairing(craftDirectory, roadster.Position, DVector2.Zero, false, -5.0); roadster.AttachFairings(fairingLeft, fairingRight); var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero, 404272); var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero, 8.4); var fhLeftBooster = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero, 396772); var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero, 396772); roadster.AddChild(fhS2); fhS2.SetParent(roadster); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { roadster, fhS2, fhLeftBooster, fhS1, fhRightBooster, fairingLeft, fairingRight }); }
public static List <ISpaceCraft> BuildFalconHeavy(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 fhS1 = new FHS1(DVector2.Zero, DVector2.Zero); var fhS2 = new FHS2(DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(2, DVector2.Zero, DVector2.Zero); demoSat.AddChild(fhS2); fhS2.SetParent(demoSat); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { demoSat, fhS2, fhS1, fhLeftBooster, fhRightBooster }); }
private static List <ISpaceCraft> BuildRedDragonFH(IMassiveBody planet, Payload payload, string craftDirectory, float offset = 0) { var redDragon = new RedDragon.RedDragon(craftDirectory, planet.Position + new DVector2(offset, -planet.SurfaceRadius), planet.Velocity + new DVector2(-400, 0), payload.DryMass, payload.PropellantMass); var dragonTrunk = new DragonV2Trunk(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero); redDragon.AddChild(dragonTrunk); dragonTrunk.SetParent(redDragon); dragonTrunk.AddChild(fhS2); fhS2.SetParent(dragonTrunk); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { redDragon, dragonTrunk, fhS2, fhS1, fhLeftBooster, fhRightBooster }); }
private static List <ISpaceCraft> BuildFalconHeavy(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 fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero); var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero); demoSat.AddChild(fhS2); fhS2.SetParent(demoSat); fhS2.AddChild(fhS1); fhS1.SetParent(fhS2); fhS1.AddChild(fhLeftBooster); fhS1.AddChild(fhRightBooster); fhLeftBooster.SetParent(fhS1); fhRightBooster.SetParent(fhS1); return(new List <ISpaceCraft> { demoSat, fhS2, fhS1, fhLeftBooster, fhRightBooster }); }
public static List <ISpaceCraft> BuildFalconHeavy(IMassiveBody planet, string path) { var spacecraft = new List <ISpaceCraft>(); 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 falcon9S1 = new FH9S1(DVector2.Zero, DVector2.Zero); var falcon9S2 = new FH9S2(DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(2, DVector2.Zero, DVector2.Zero); demoSat.AddChild(falcon9S2); falcon9S2.SetParent(demoSat); falcon9S2.AddChild(falcon9S1); falcon9S1.SetParent(falcon9S2); falcon9S1.AddChild(fhLeftBooster); falcon9S1.AddChild(fhRightBooster); fhLeftBooster.SetParent(falcon9S1); fhRightBooster.SetParent(falcon9S1); spacecraft.Add(demoSat); spacecraft.Add(falcon9S2); spacecraft.Add(falcon9S1); spacecraft.Add(fhLeftBooster); spacecraft.Add(fhRightBooster); foreach (ISpaceCraft spaceCraft in spacecraft) { spaceCraft.InitializeController(path); } return(spacecraft); }
public static List<ISpaceCraft> BuildFalconHeavy(IMassiveBody planet, string path) { var spacecraft = new List<ISpaceCraft>(); 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 falcon9S1 = new FH9S1(DVector2.Zero, DVector2.Zero); var falcon9S2 = new FH9S2(DVector2.Zero, DVector2.Zero); var fhLeftBooster = new FHBooster(1, DVector2.Zero, DVector2.Zero); var fhRightBooster = new FHBooster(2, DVector2.Zero, DVector2.Zero); demoSat.AddChild(falcon9S2); falcon9S2.SetParent(demoSat); falcon9S2.AddChild(falcon9S1); falcon9S1.SetParent(falcon9S2); falcon9S1.AddChild(fhLeftBooster); falcon9S1.AddChild(fhRightBooster); fhLeftBooster.SetParent(falcon9S1); fhRightBooster.SetParent(falcon9S1); spacecraft.Add(demoSat); spacecraft.Add(falcon9S2); spacecraft.Add(falcon9S1); spacecraft.Add(fhLeftBooster); spacecraft.Add(fhRightBooster); foreach (ISpaceCraft spaceCraft in spacecraft) { spaceCraft.InitializeController(path); } return spacecraft; }