public static PluginAlertType GetAlertByLevel(AirplaneBasic airplane, Radar radar, bool lightWeight, bool mediumWeight, bool heavyWeight, bool superHeavysAndRare) { var listAircraftTypeHighAlert = HelperPlugin.ListWideAirplanes; var listAircraftTypeSuperHighAlert = HelperPlugin.ListSuperHighAirplanes; PluginAlertType alertType = PluginAlertType.Low; bool isSuperHighAlert = listAircraftTypeSuperHighAlert.Where(s => airplane.AircraftType != null && airplane.AircraftType.ICAO.Contains(s)).Count() > 0 && superHeavysAndRare; if (isSuperHighAlert) { alertType = PluginAlertType.High; } else if (heavyWeight && airplane.Weight == AirplaneWeight.Heavy || mediumWeight && airplane.Weight == AirplaneWeight.Medium || lightWeight && airplane.Weight == AirplaneWeight.Light) { alertType = PluginAlertType.High; } else if (!heavyWeight && airplane.Weight == AirplaneWeight.Heavy) { alertType = PluginAlertType.Medium; } return(alertType); }
private void MakeAlert(List <Alert> listAlerts, Radar radar, AirplaneBasic airplane, PluginAlertType alertType = PluginAlertType.High, bool subAlert = false) { Alert pluginAlert = new Alert(radar, Name, airplane, IconType.NoIcon); pluginAlert.AlertType = alertType; pluginAlert.TimeToBeRemoved = DateTime.Now.AddHours(23); switch (airplane.State) { case AirplaneStatus.Cruise: pluginAlert.Icon = IconType.Cruise; break; case AirplaneStatus.Landing: pluginAlert.Icon = IconType.Landing; break; case AirplaneStatus.TakingOff: pluginAlert.Icon = IconType.TakingOff; break; case AirplaneStatus.ParkingOrTaxing: pluginAlert.Icon = IconType.Taxing; break; } if (subAlert) { pluginAlert.ID += "_sub"; } listAlerts.Add(pluginAlert); }