Esempio n. 1
0
        private ObservableCollection <LoginScreen> GetAvailableLoginScreens()
        {
            if (LoginScreens == null)
            {
                return(new ObservableCollection <LoginScreen>(Enumerable.Empty <LoginScreen>()));
            }

            IEnumerable <LoginScreen> result;

            if (ForceExtraction)
            {
                result = LoginScreens.Where(l => l.IsDownloaded);
            }
            else
            {
                result = LoginScreens.Where(l => l.IsDownloaded || l.IsExtracted);

                if (DisplayUnknown)
                {
                    var dirs = Directory.EnumerateDirectories(String.Format("{0}{1}", Configuration.GamePath,
                                                                            Configuration.ThemeDirPath));
                    result = result.Concat(from dir in dirs
                                           where
                                           !LoginScreens.Any(
                                               l => l.Filename.Equals(String.Format("{0}.zip",
                                                                                    dir.RegExpReplace(@"^.*\\", "")))) && !dir.Contains("parchment")
                                           select new LoginScreen()
                    {
                        Name = dir.RegExpReplace(@"^.*\\", ""),
                    });
                }
            }
            return(new ObservableCollection <LoginScreen>(result.OrderBy(l => l.ToString())));
        }
Esempio n. 2
0
        private void PackNewThemesMenuItem_Click(object sender, RoutedEventArgs e)
        {
            var result = new List <LoginScreen>();
            var dirs   = Directory.EnumerateDirectories(String.Format("{0}{1}", Configuration.GamePath,
                                                                      Configuration.ThemeDirPath));

            result.AddRange(from dir in dirs
                            where
                            !LoginScreens.Any(
                                l => l.Filename.Equals(String.Format("{0}.zip", dir.RegExpReplace(@"^.*\\", "")))) && !dir.Contains("parchment")
                            select new LoginScreen()
            {
                Name = dir.RegExpReplace(@"^.*\\", ""),
            });


            var packager = new Packager()
            {
                UnkownLoginScreens = result
            };

            packager.ShowDialog();
        }