From 223da16d7fb935de0f9cca3984c68f761dd7e4bc Mon Sep 17 00:00:00 2001 From: Jack Baron Date: Sun, 25 Oct 2020 01:11:52 +0100 Subject: [PATCH] minor cleanup to alias resolution --- ModAssistant/MainWindow.xaml.cs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/ModAssistant/MainWindow.xaml.cs b/ModAssistant/MainWindow.xaml.cs index 376b70f..8fd6129 100644 --- a/ModAssistant/MainWindow.xaml.cs +++ b/ModAssistant/MainWindow.xaml.cs @@ -120,11 +120,11 @@ namespace ModAssistant resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAlias); body = await resp.Content.ReadAsStringAsync(); - object jsonObject = JsonSerializer.DeserializeObject(body); + Dictionary aliases = JsonSerializer.Deserialize>(body); Dispatcher.Invoke(() => { - GameVersion = GetGameVersion(versions, jsonObject); + GameVersion = GetGameVersion(versions, aliases); GameVersionsBox.ItemsSource = versions; GameVersionsBox.SelectedValue = GameVersion; @@ -157,7 +157,7 @@ namespace ModAssistant } } - private string GetGameVersion(List versions, object aliases) + private string GetGameVersion(List versions, Dictionary aliases) { string version = Utils.GetVersion(); if (!string.IsNullOrEmpty(version) && versions.Contains(version)) @@ -190,25 +190,21 @@ namespace ModAssistant return versions[0]; } - private string CheckAliases(List versions, object aliases, string detectedVersion) + private string CheckAliases(List versions, Dictionary aliasesDict, string detectedVersion) { - Dictionary Objects = (Dictionary)aliases; + Dictionary> aliases = aliasesDict.ToDictionary(x => x.Key, x => x.Value.ToList()); foreach (string version in versions) { - object x; - if (Objects.TryGetValue(version, out x)) + if (aliases.TryGetValue(version, out var x)) { - object[] aliasArray = (object[])x; - foreach (object alias in aliasArray) + if (x.Contains(detectedVersion)) { - if (alias.ToString() == detectedVersion) - { - GameVersionOverride = detectedVersion; - return version; - } + GameVersionOverride = detectedVersion; + return version; } } } + return string.Empty; }