static void PlanesCanFly(IAirline airline, FlightParams flightParams) { IFlightPreparer preparer = new FlightDirector(flightParams); Console.WriteLine("\n\tFlight parameters:\n"); Console.WriteLine("Flight range: {0}", flightParams.FlightRange); Console.WriteLine("Passengers count: {0}", flightParams.PassgengersCount); Console.WriteLine("Cargo weight: {0}", flightParams.CargoWeight); Console.WriteLine("\n\tPlanes can make this flight:\n"); var canFlyPlanes = airline.Planes;//.Where(p => preparer.CanFly(p)); Console.WriteLine("-------------------------------"); foreach (var plane in canFlyPlanes) { Console.WriteLine(plane.ToString()); if (plane.PrepareForFlight(preparer)) { Console.WriteLine("Flight begins.."); string flightMessage; plane.Flight(out flightMessage); Console.WriteLine(flightMessage); Console.WriteLine(); } else { Console.WriteLine(preparer.LastResult); Console.WriteLine(); } Console.WriteLine("-------------------------------"); } }
public void Init() { _simulationProperties = new Mock <ISimulationProperties>(); _airplaneManager = new Mock <IAirplaneManager>(); _router = new Mock <IRouter>(); _flightDirector = new FlightDirector(_airplaneManager.Object, _router.Object, _simulationProperties.Object); }
public Spaceship(IMyGridTerminalSystem system, IMyIntergridCommunicationSystem igc) { this.system = system; this.igc = igc; cpu = FindRunningPB(system); control = FindBlockOfType <IMyRemoteControl>(system, this, Settings.TAG); connector = FindBlockOfType <IMyShipConnector>(system, this, Settings.TAG); debug = FindBlockOfType <IMyTextPanel>(system, this, Settings.TAG); if (debug == null) { IMyCockpit cockpit = FindBlockOfType <IMyCockpit>(system, this, Settings.TAG); if (cockpit.SurfaceCount > 0) { debug = cockpit.GetSurface(0); } } debug.Font = "Monospace"; debug.ContentType = ContentType.TEXT_AND_IMAGE; /* * screen = cockpit.GetSurface(0); * screen.ContentType = ContentType.SCRIPT; * MySpriteDrawFrame frame = screen.DrawFrame(); * * * frame.Add(new MySprite(SpriteType.TEXTURE, "SquareSimple", new Vector2(0, 0), new Vector2(512, 512), Color.Black)); * frame.Add(MySprite.CreateText("Ftiaxe Me!!!", "DEBUG", Color.White)); * frame.Dispose(); */ listener = igc.RegisterBroadcastListener(Settings.COMM_CHANNEL); listener = igc.RegisterBroadcastListener(Settings.COMM_CHANNEL); listener.SetMessageCallback(Settings.COMM_CHANNEL); thrusters = new ThrustersManager(this, control, system); autopilot = new Autopilot(this, control, FindBlockOfType <IMyGyro>(system, this)); cas = new CollisionAvoidanceSystem(this); fd = new FlightDirector(this); if (connector.Status == MyShipConnectorStatus.Connected) { flags = SpaceshipFlags.Dock; } else { flags = SpaceshipFlags.Idle; } }