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> BuildDragonV2Entry(IMassiveBody planet, MissionConfig config, string craftDirectory) { var dragon = new GreyDragon.GreyDragon(craftDirectory, planet.Position + new DVector2(0, planet.SurfaceRadius + 200000.0), planet.Velocity + new DVector2(11000, -1650), config.PayloadMass, 446); var dragonTrunk = new DragonV2Trunk(craftDirectory, DVector2.Zero, DVector2.Zero); dragon.AddChild(dragonTrunk); dragonTrunk.SetParent(dragon); dragon.SetPitch(Math.PI * 1.24); return(new List <ISpaceCraft> { dragon, dragonTrunk }); }