Example #1
0
        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);
        }
Example #2
0
        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);
        }