protected async Task SwitchMode(FlightOperationMode newMode, Flight u, int delay = 0) { if (u.isSwitchingMode) { return; } if (u != null && u.isConnected) { u.isSwitchingMode = true; FlightModeChangedArgs args = new FlightModeChangedArgs(); args.from = _uav.mode; args.to = newMode; _uav.mode = newMode; if (delay > 0) { await Task.Delay(delay); } u.isSwitchingMode = false; FlightModeChanged.Invoke(this, args); } }
private void _flightController_FlightModeChanged(object sender, FlightModeChangedArgs e) { flightStatus.Text = e.to.ToString(); }