public override bool Equals(object obj) { if (obj is ModListItem) { ModListItem other = obj as ModListItem; return(other.package == package && other.name == name); } else { return(false); } }
private bool SearchFilter(object mod) { ModListItem item = mod as ModListItem; if (item.ModName.ToLower().Contains(SearchBar.Text.ToLower())) { return(true); } if (item.ModDescription.ToLower().Contains(SearchBar.Text.ToLower())) { return(true); } if (item.ModName.ToLower().Replace(" ", string.Empty).Contains(SearchBar.Text.ToLower().Replace(" ", string.Empty))) { return(true); } if (item.ModDescription.ToLower().Replace(" ", string.Empty).Contains(SearchBar.Text.ToLower().Replace(" ", string.Empty))) { return(true); } return(false); }
public void PopulateModsList() { string json = string.Empty; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Utils.Constants.BeatModsAPIUrl + Utils.Constants.BeatModsModsOptions + "&gameVersion=" + MainWindow.GameVersion); request.AutomaticDecompression = DecompressionMethods.GZip; request.UserAgent = "ModAssistant/" + App.Version; try { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(stream)) { var serializer = new JavaScriptSerializer(); ModsList = serializer.Deserialize <Mod[]>(reader.ReadToEnd()); } } catch (Exception e) { System.Windows.MessageBox.Show("Could not load mods list.\n\n" + e); return; } foreach (Mod mod in ModsList) { bool preSelected = mod.required; if (DefaultMods.Contains(mod.name) || (App.SaveModSelection && App.SavedMods.Contains(mod.name))) { preSelected = true; if (!App.SavedMods.Contains(mod.name)) { App.SavedMods.Add(mod.name); } } RegisterDependencies(mod); ModListItem ListItem = new ModListItem() { IsSelected = preSelected, IsEnabled = !mod.required, ModName = mod.name, ModVersion = mod.version, ModDescription = mod.description.Replace("\r\n", " ").Replace("\n", " "), ModInfo = mod, Category = mod.category }; foreach (Mod installedMod in InstalledMods) { if (mod.name == installedMod.name) { ListItem.InstalledModInfo = installedMod; ListItem.IsInstalled = true; ListItem.InstalledVersion = installedMod.version; break; } } mod.ListItem = ListItem; ModList.Add(ListItem); } foreach (Mod mod in ModsList) { ResolveDependencies(mod); } }
public async Task PopulateModsList() { try { var resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAPIUrl + Utils.Constants.BeatModsModsOptions + "&gameVersion=" + MainWindow.GameVersion); var body = await resp.Content.ReadAsStringAsync(); ModsList = JsonSerializer.Deserialize <Mod[]>(body); } catch (Exception e) { System.Windows.MessageBox.Show($"{FindResource("Mods:LoadFailed")}.\n\n" + e); return; } foreach (Mod mod in ModsList) { bool preSelected = mod.required; if (DefaultMods.Contains(mod.name) || (App.SaveModSelection && App.SavedMods.Contains(mod.name))) { preSelected = true; if (!App.SavedMods.Contains(mod.name)) { App.SavedMods.Add(mod.name); } } RegisterDependencies(mod); ModListItem ListItem = new ModListItem() { IsSelected = preSelected, IsEnabled = !mod.required, ModName = mod.name, ModVersion = mod.version, ModDescription = mod.description.Replace("\r\n", " ").Replace("\n", " "), ModInfo = mod, Category = mod.category }; foreach (Promotion promo in Promotions.ActivePromotions) { if (mod.name == promo.ModName) { ListItem.PromotionText = promo.Text; ListItem.PromotionLink = promo.Link; } } foreach (Mod installedMod in InstalledMods) { if (mod.name == installedMod.name) { ListItem.InstalledModInfo = installedMod; ListItem.IsInstalled = true; ListItem.InstalledVersion = installedMod.version; break; } } mod.ListItem = ListItem; ModList.Add(ListItem); } foreach (Mod mod in ModsList) { ResolveDependencies(mod); } }