private void Simconnect_OnRecvAirportList(SimConnect sender, SIMCONNECT_RECV_AIRPORT_LIST data) { logger.LogDebug("Received Airport List"); AirportListReceived?.Invoke(this, new AirportListReceivedEventArgs(data.rgData.Cast <SIMCONNECT_DATA_FACILITY_AIRPORT>().Select(airport => new Airport { Ident = airport.Icao, Latitude = airport.Latitude, Longitude = airport.Longitude, Elevation = airport.Altitude }))); }
private void SimConnect_OnRecvAirportList(SimConnect sender, SIMCONNECT_RECV_AIRPORT_LIST data) { List <SIMCONNECT_DATA_FACILITY_AIRPORT> list = new List <SIMCONNECT_DATA_FACILITY_AIRPORT>(); foreach (SIMCONNECT_DATA_FACILITY_AIRPORT a in data.rgData) { SIMCONNECT_DATA_FACILITY_AIRPORT airport = new SIMCONNECT_DATA_FACILITY_AIRPORT(); list.Add(a); Console.WriteLine(a.Icao); } // throw new NotImplementedException(); Console.WriteLine("AIRPORTS"); }
void simconnect_OnRecvAirportList(SimConnect sender, SIMCONNECT_RECV_AIRPORT_LIST data) { switch ((DATA_REQUESTS)data.dwRequestID) { case DATA_REQUESTS.SUBSCRIBE_REQ: case DATA_REQUESTS.NONSUBSCRIBE_REQ: displayText("Airport List:"); Dump(data); DumpArray(data.rgData); break; default: displayText("Unknown request ID: " + data.dwRequestID); break; } }
public static string ToString(SIMCONNECT_RECV_AIRPORT_LIST list) { string res = ""; string sep = ""; foreach (SIMCONNECT_DATA_FACILITY_AIRPORT a in list.rgData) { res += sep + "{"; res += $"\"Latitude\": {(float)a.Latitude},"; res += $"\"Longitude\": {(float)a.Longitude},"; res += $"\"Altitude\": {(float)a.Altitude},"; res += $"\"Icao\": \"{a.Icao}\""; res += "}"; sep = ", "; } return($"\"airports\": [ {res} ]"); }
private void Simconnect_OnRecvAirportList(SimConnect sender, SIMCONNECT_RECV_AIRPORT_LIST data) { string text = $"Airport List (page {data.dwEntryNumber + 1} of {data.dwOutOf} w/ {data.rgData.Length} rows of data):"; switch ((DATA_REQUESTS)data.dwRequestID) { case DATA_REQUESTS.AIRPORT_DATA_SUB: subAirports.AddRange(data.rgData.Select((object item) => (SIMCONNECT_DATA_FACILITY_AIRPORT)item)); subAirportsDistinct = subAirports.Distinct(new AirportComparer()).ToList(); lErrorMessages.Add($"{text}: {subAirports.Count()} total / {subAirportsDistinct.Count()} unique"); if (data.dwEntryNumber + 1 == data.dwOutOf) { lErrorMessages.Add($@"Count of KCWA in the total list = { subAirports.Where((SIMCONNECT_DATA_FACILITY_AIRPORT airport) => airport.Icao.Equals("KCWA", StringComparison.OrdinalIgnoreCase)).Count() }"); lErrorMessages.Add($@"Count of KHYI in the total list = { subAirports.Where((SIMCONNECT_DATA_FACILITY_AIRPORT airport) => airport.Icao.Equals("KHYI", StringComparison.OrdinalIgnoreCase)).Count() }"); lErrorMessages.Add($@"Count of KLAX in the total list = { subAirports.Where((SIMCONNECT_DATA_FACILITY_AIRPORT airport) => airport.Icao.Equals("KLAX", StringComparison.OrdinalIgnoreCase)).Count() }"); lErrorMessages.Add($@"Count of KLAX in the distinct list = { subAirportsDistinct.Where((SIMCONNECT_DATA_FACILITY_AIRPORT airport) => airport.Icao.Equals("KLAX", StringComparison.OrdinalIgnoreCase)).Count() }"); } break; default: lErrorMessages.Add("Unknown Simconnect_OnRecvAirportList request ID: " + data.dwRequestID); break; } }