Beispiel #1
0
        private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            ManagedGameVersion version = lbVersions.SelectedItem as ManagedGameVersion;

            if (version != null)
            {
                ManagedVersions.Remove(version);
            }
        }
        private async void RemoveGameFiles()
        {
            string             btnContent = btnRemove.Content as string;
            ManagedGameVersion selected   = lbVersions.SelectedItem as ManagedGameVersion;

            if (selected == null)
            {
                return;
            }

            _containerPath = txtContainer.Text;
            if (_containerPath == null || !Directory.Exists(_containerPath))
            {
                MessageBox.Show("Please select container directory.", "Error");
                return;
            }

            if (!LoadDirCache())
            {
                return;
            }

            MessageBoxResult result = MessageBox.Show("This process will remove ALL files from the selected version and delete the game directory. Proceed?", "Warning", MessageBoxButton.YesNo);

            if (result != MessageBoxResult.Yes)
            {
                return;
            }

            btnRemove.IsEnabled = false;
            btnRemove.Content   = "Removing...";

            if (Directory.Exists(selected.Path))
            {
                await Task.Run(() => Directory.Delete(selected.Path, true));
            }

            RootDirectoryEntity        root          = new RootDirectoryEntityIO().Deserialize(selected.GameXML);
            List <RootDirectoryEntity> otherVersions = new List <RootDirectoryEntity>();

            foreach (var mgv in ManagedVersions)
            {
                RootDirectoryEntity data = new RootDirectoryEntityIO().Deserialize(mgv.GameXML);
                otherVersions.Add(data);
            }

            await Task.Run(() => GameFilesRemover.RemoveFiles(root, otherVersions, _containerPath, Helpers.EntityToPath(_containerPath), _dirCache, null));

            ManagedVersions.Remove(selected);
            SaveManagedVersions();
            SaveDirCache();

            btnRemove.IsEnabled = true;
            btnRemove.Content   = btnContent;
        }
Beispiel #3
0
        private void btnAddVersion_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("You will now select directory containing your WoT game version.", "Select directory");
            string dir = Utils.SelectDirectory();

            if (dir == null)
            {
                return;
            }
            string version = Helpers.GetGameVersion(dir);

            MessageBox.Show("You will now select Version XML file for your selected WoT game version. If you don't have it, generate it first through \"Create version data file\"", "Select version XML");
            string xml = Utils.SelectXML(version.Replace(".", "_"));

            if (xml == null)
            {
                return;
            }

            ManagedVersions.Add(new ManagedGameVersion(dir, version, xml));
        }