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!");
                }
            }
        }
示例#2
0
        private void FlightStatusUpdater_FlightStatusUpdated(object sender, FlightStatusUpdatedEventArgs e)
        {
            viewModel.Update(e.FlightStatus);

            ButtonAddStatus.Visibility = flightLogic.FlightRoute.Count == 0 ? Visibility.Visible : Visibility.Collapsed;
        }