Exemplo n.º 1
0
        public static string GetCorrespondingIconPath(DataStructures.enumWeather weather, bool beforeDusk)
        {
            string RunningPath = AppDomain.CurrentDomain.BaseDirectory;

            if (beforeDusk)
            {
                switch (weather)
                {
                case DataStructures.enumWeather.CLEAR_SKY:
                    return(string.Format("{0}Resources\\sun.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.FEW_CLOUDS:
                    return(string.Format("{0}Resources\\sunnyclouds.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.SCATTERED_CLOUDS:
                    return(string.Format("{0}Resources\\cloudy.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.SHOWER_RAIN:
                    return(string.Format("{0}Resources\\rain.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.THUNDERSTORM:
                    return(string.Format("{0}Resources\\thunderstorm.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));
                }
            }
            else
            {
                switch (weather)
                {
                case DataStructures.enumWeather.CLEAR_SKY:
                    return(string.Format("{0}Resources\\moon.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.FEW_CLOUDS:
                    return(string.Format("{0}Resources\\nightclouds.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.SCATTERED_CLOUDS:
                    return(string.Format("{0}Resources\\cloudy.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.SHOWER_RAIN:
                    return(string.Format("{0}Resources\\rain.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));

                case DataStructures.enumWeather.THUNDERSTORM:
                    return(string.Format("{0}Resources\\thunderstorm.png", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))));
                }
            }


            return("");
        }
        public static int ConvertWeatherEnumToComboInt(DataStructures.enumWeather weather)
        {
            switch (weather)
            {
            case DataStructures.enumWeather.CLEAR_SKY:
                return(0);

            case DataStructures.enumWeather.FEW_CLOUDS:
                return(1);

            case DataStructures.enumWeather.SCATTERED_CLOUDS:
                return(2);

            case DataStructures.enumWeather.SHOWER_RAIN:
                return(3);

            case DataStructures.enumWeather.THUNDERSTORM:
                return(4);

            default:
                return(0);
            }
        }
Exemplo n.º 3
0
        private static void ThreadRun()
        {
            try
            {
                while (true)
                {
                    WeatherData    currentWeather  = weatherHandler.GetCurrentWeatherData();
                    DateTime       now             = DateTime.Now;
                    PersistentData currentSettings = SettingsLoader.GetCurrentSettingsData();

                    //check if transition allowed
                    if ((bool)currentSettings.changeInBackground)
                    {
                        if (!AppFocus.OtherAppIsInFullScreen())
                        {
                            Wait();
                            continue;
                        }
                    }

                    DataStructures.ImageData[] images = currentSettings.imageData.ToArray();

                    DataStructures.enumDayTime targetDayTime = Helperfunctions.ConvertTimeToDayTime(now, currentWeather);
                    DataStructures.enumSeason  targetSeason  = Helperfunctions.ConvertDateToEnumSeason(now);
                    DataStructures.enumWeather targetWeather = Helperfunctions.ConvertOWMDescrToWeather(currentWeather.data.weather[0].description);

                    //filter images to new list after priority
                    //importance desc: season, daytime, weather
                    List <DataStructures.ImageData> filteredImages = new List <DataStructures.ImageData>();
                    for (int ignorance = 0; ignorance <= 3; ignorance++)
                    {
                        for (int i = 0; i < images.Length; i++)
                        {
                            if (images[i].targetSeason == targetSeason)
                            {
                                if (images[i].targetDaytime == targetDayTime)
                                {
                                    if (images[i].targetWeather == targetWeather)
                                    {
                                        if (!images[i].banUse)
                                        {
                                            filteredImages.Add(images[i]);
                                        }
                                    }
                                    else if (ignorance > 0)
                                    {
                                        filteredImages.Add(images[i]);
                                    }
                                }
                                else if (ignorance > 1)
                                {
                                    filteredImages.Add(images[i]);
                                }
                            }
                            else if (ignorance > 2)
                            {
                                filteredImages.Add(images[i]);
                            }
                        }
                        if (filteredImages.Count > 0)
                        {
                            break;
                        }
                    }

                    if (filteredImages.Count == 0)
                    {
                        Wait();
                        continue;
                    }

                    //select random from filtered list
                    Random rnd      = new Random();
                    int    selected = rnd.Next(0, filteredImages.Count);

                    //change background
                    Uri wallFile = new Uri(filteredImages[selected].fileName);
                    Wallpaper.Set(wallFile, Wallpaper.Style.Stretched);

                    Wait();
                }
            } catch
            {
                return;
            }
        }