private async void FlightConnect_FlightStatusUpdated(object sender, FlightStatusUpdatedEventArgs e) { viewModel.FlightStatus = e.FlightStatus; if (isReady) { try { var gpsData = Encoding.UTF8.GetBytes($"XGPSFS2020,{e.FlightStatus.Longitude},{e.FlightStatus.Latitude},{e.FlightStatus.Altitude},{e.FlightStatus.TrueHeading},{e.FlightStatus.GroundSpeed * KnotsToMetersPerSecond}"); var statusData = Encoding.UTF8.GetBytes($"XATTFS2020,{e.FlightStatus.TrueHeading},{-e.FlightStatus.Pitch},{-e.FlightStatus.Bank}"); await client?.SendAsync(gpsData, gpsData.Length); await client?.SendAsync(statusData, statusData.Length); } catch (Exception ex) { logger.LogError(ex, "Cannot send flight status!"); } } }
private void FlightStatusUpdater_FlightStatusUpdated(object sender, FlightStatusUpdatedEventArgs e) { viewModel.Update(e.FlightStatus); ButtonAddStatus.Visibility = flightLogic.FlightRoute.Count == 0 ? Visibility.Visible : Visibility.Collapsed; }