/// <summary> /// Отправляем самолет на взлет. /// </summary> /// <param name="land">Взлетная полоса для самолета.</param> /// <returns>Разбился ли самолет при взлете.</returns> protected bool GoTakeOff(Land land) { // Самолет готовится ко взлету и взлетает. land.Free = false; Fuel = _maxFuel; State = AircraftState.GoToFly; Thread.Sleep(10000); if (Dead()) { return(false); } // Самолет взлетел. State = AircraftState.Fly; land.Free = true; return(true); }
/// <summary> /// Разрешить посадку самолету. /// </summary> /// <param name="land">Посадочная полоса аэропорта.</param> public void Land(Land land) { // Всегда есть шанс, что самолет разобьется... if (Dead()) { return; } // Самолет приземлился и занял полосу. land.Free = false; Thread.Sleep(5000); State = AircraftState.Land; // Самолет уехал в ангар. Полет полностью завершен. Thread.Sleep(5000); State = AircraftState.Sleep; land.Free = true; _flyThread.Abort(); }