private void Mods_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { var editor = new CollectionEditor { Owner = Window.GetWindow(this) }; editor.Edit(_viewModel.Mods, "Mods"); }
private void Banned_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { var editor = new CollectionEditor { Owner = Window.GetWindow(this) }; editor.Edit(_viewModel.Banned, "Banned Players"); }
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(); }); }
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(); }); }