예제 #1
0
        public void installSet(Windows.ChangeSetsProgressDialog wnd, int max, Octgn.Data.Game game)
        {
            wnd.UpdateProgress(0, max, "Retrieving xml...", false);
            XmlSetParser xmls = xml_set;

            wnd.UpdateProgress(1, max, "Parsing retrieved xml...", false);
            xmls.check();
            bool is_spoiler_installed = true;

            Data.Set set        = null;
            string   path       = Path.Combine(Prefs.DataDirectory, "Games", game.Id.ToString(), "Sets");
            string   downloadto = Path.Combine(path) + xmls.name() + ".o8s";
            var      cli        = new WebClient();

            wnd.UpdateProgress(2, max, "Downloading new definition...", false);
            cli.Credentials = new System.Net.NetworkCredential(xmls.user(), xmls.password());
            cli.DownloadFile(xmls.link(), downloadto);
            wnd.UpdateProgress(3, max, "Checking for existence of old definition...", false);
            try
            {
                set = game.Sets.First <Data.Set>(_set => _set.Id.ToString() == xmls.uuid());
            }
            catch
            {
                is_spoiler_installed = false;
            }
            if (is_spoiler_installed)
            {
                wnd.UpdateProgress(4, max, "Removing old definition...", false);
                game.DeleteSet(set);
            }
            wnd.UpdateProgress(5, max, "Installing new definition...", false);
            game.InstallSet(downloadto);
            wnd.UpdateProgress(6, max, "Set installed correctly", false);
        }
예제 #2
0
        private void GsMouseUp(object sender, MouseButtonEventArgs e)
        {
            var gs = (GameListItem)sender;

            SelectedGame = SelectedGame == gs.Game ? null : gs.Game;
            HandleGameSelectedChanged();
        }
예제 #3
0
        public void CheckXml(Octgn.Data.Game game)
        {
            XmlSetParser xmls = xml_set;

            if (game.Id.ToString() != xmls.game())
            {
                throw new Exception("Error! Wrong game specified in xml");
            }
            xmls.check();
        }
예제 #4
0
        public void CheckXml(Windows.ChangeSetsProgressDialog wnd, int max, Octgn.Data.Game game)
        {
            XmlSetParser xmls = xml_set;

            if (game.Id.ToString() != xmls.game())
            {
                wnd.UpdateProgress(max, max, string.Format("Error! Wrong game specified in xml"), false);
                return;
            }
            xmls.check();
        }
예제 #5
0
 private void ReloadGameList()
 {
     Dispatcher.Invoke(new Action(() => {
         stackPanel1.Children.Clear();
         foreach (GameListItem gs in Program.GamesRepository
                  .AllGames
                  .OrderBy(x => x.Name)
                  .Select(g => new GameListItem {
             Game = g
         }))
         {
             gs.MouseUp += GsMouseUp;
             stackPanel1.Children.Add(gs);
         }
         SelectedGame = null;
         HandleGameSelectedChanged();
     }));
 }
예제 #6
0
        public void CheckVerboseXml(Windows.ChangeSetsProgressDialog wnd, int max, Octgn.Data.Game game)
        {
            XmlSetParser xmls = xml_set;

            wnd.UpdateProgress(1, max, "Parsing retrieved xml...", false);
            xmls.check();
            if (game.Id.ToString() != xmls.game())
            {
                wnd.UpdateProgress(10, 10, string.Format("Error! Wrong game specified in xml"), false);
                return;
            }
            wnd.UpdateProgress(2, max, "Name: " + xmls.name(), false);
            wnd.UpdateProgress(3, max, "Game: " + xmls.game(), false);
            wnd.UpdateProgress(4, max, "UUID: " + xmls.uuid(), false);
            wnd.UpdateProgress(5, max, "Version: " + xmls.version(), false);
            wnd.UpdateProgress(6, max, "Date: " + xmls.date(), false);
            wnd.UpdateProgress(7, max, "Link: " + xmls.link(), false);
            wnd.UpdateProgress(8, max, "Login: "******"Password: "******"Xml seems ok"), false);
        }
예제 #7
0
 private void ReloadGameList()
 {
     Dispatcher.Invoke(new Action(() => {
         stackPanel1.Children.Clear();
         foreach (GameListItem gs in Program.GamesRepository
             .AllGames
             .OrderBy(x=>x.Name)
             .Select(g => new GameListItem { Game = g }))
         {
             gs.MouseUp += GsMouseUp;
             stackPanel1.Children.Add(gs);
         }
         SelectedGame = null;
         HandleGameSelectedChanged();
     }));
 }
예제 #8
0
 private void GsMouseUp(object sender, MouseButtonEventArgs e)
 {
     var gs = (GameListItem)sender;
     SelectedGame = SelectedGame == gs.Game ? null : gs.Game;
     HandleGameSelectedChanged();
 }
예제 #9
0
 public GameListItem()
 {
     InitializeComponent();
     _game = new Data.Game();
 }