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 }); }
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 }); }
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 }); }
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 }); }
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 }); }