Ejemplo n.º 1
0
        private void Mods_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var editor = new CollectionEditor {
                Owner = Window.GetWindow(this)
            };

            editor.Edit(_viewModel.Mods, "Mods");
        }
Ejemplo n.º 2
0
        private void Banned_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var editor = new CollectionEditor {
                Owner = Window.GetWindow(this)
            };

            editor.Edit(_viewModel.Banned, "Banned Players");
        }
Ejemplo n.º 3
0
        private void BulkButton_OnClick(object sender, RoutedEventArgs e)
        {
            var editor = new CollectionEditor();

            //let's see just how poorly we can do this
            var modList = ((MtObservableList <ModItemInfo>)DataContext).ToList();
            var idList  = modList.Select(m => m.ToString()).ToList();
            var tasks   = new List <Task>();

            //blocking
            editor.Edit <string>(idList, "Mods");

            modList.RemoveAll(m =>
            {
                var mod = m.ToString();
                return(idList.Any(mod.Equals));
            });
            modList.AddRange(idList.Select(id =>
            {
                var info = new ModItemInfo(ModItemUtils.Create(id));
                tasks.Add(Task.Run(info.UpdateModInfoAsync));
                return(info);
            }));
            _instanceManager.DedicatedConfig.Mods.Clear();
            foreach (var mod in modList)
            {
                _instanceManager.DedicatedConfig.Mods.Add(mod);
            }

            if (tasks.Any())
            {
                Task.WaitAll(tasks.ToArray());
            }

            Dispatcher.Invoke(() =>
            {
                _instanceManager.DedicatedConfig.Save();
            });
        }
Ejemplo n.º 4
0
        private void BulkButton_OnClick(object sender, RoutedEventArgs e)
        {
            var editor = new CollectionEditor();

            //let's see just how poorly we can do this
            var modList = ((MtObservableList <ModItemInfo>)DataContext).ToList();
            var idList  = modList.Select(m => m.PublishedFileId).ToList();
            var tasks   = new List <Task>();

            //blocking
            editor.Edit <ulong>(idList, "Mods");

            modList.RemoveAll(m => !idList.Contains(m.PublishedFileId));
            foreach (var id in idList)
            {
                if (!modList.Any(m => m.PublishedFileId == id))
                {
                    var mod = new ModItemInfo(new MyObjectBuilder_Checkpoint.ModItem(id));
                    tasks.Add(Task.Run(mod.UpdateModInfoAsync));
                    modList.Add(mod);
                }
            }
            _instanceManager.DedicatedConfig.Mods.Clear();
            foreach (var mod in modList)
            {
                _instanceManager.DedicatedConfig.Mods.Add(mod);
            }

            if (tasks.Any())
            {
                Task.WaitAll(tasks.ToArray());
            }

            Dispatcher.Invoke(() =>
            {
                _instanceManager.DedicatedConfig.Save();
            });
        }