Merge pull request #240 from TheJmJ/master

Issue #239: Quick hotfix for error that comes if not up-to-date
This commit is contained in:
Jack Baron 2020-10-25 01:13:01 +01:00 committed by GitHub
commit ad62d5ecbd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -120,11 +120,11 @@ namespace ModAssistant
resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAlias);
body = await resp.Content.ReadAsStringAsync();
object jsonObject = JsonSerializer.DeserializeObject(body);
Dictionary<string, string[]> aliases = JsonSerializer.Deserialize<Dictionary<string, string[]>>(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<string> versions, object aliases)
private string GetGameVersion(List<string> versions, Dictionary<string, string[]> aliases)
{
string version = Utils.GetVersion();
if (!string.IsNullOrEmpty(version) && versions.Contains(version))
@ -190,21 +190,21 @@ namespace ModAssistant
return versions[0];
}
private string CheckAliases(List<string> versions, object aliases, string detectedVersion)
private string CheckAliases(List<string> versions, Dictionary<string, string[]> aliasesDict, string detectedVersion)
{
Dictionary<string, object> Objects = (Dictionary<string, object>)aliases;
Dictionary<string, List<string>> aliases = aliasesDict.ToDictionary(x => x.Key, x => x.Value.ToList());
foreach (string version in versions)
{
object[] aliasArray = (object[])Objects[version];
foreach (object alias in aliasArray)
if (aliases.TryGetValue(version, out var x))
{
if (alias.ToString() == detectedVersion)
if (x.Contains(detectedVersion))
{
GameVersionOverride = detectedVersion;
return version;
}
}
}
return string.Empty;
}