mirror of
https://github.com/knah/VRCMelonAssistant.git
synced 2024-09-28 07:11:25 +12:00
fuck anonymous objects
This commit is contained in:
parent
88927d8549
commit
d121c02336
3 changed files with 43 additions and 5 deletions
|
@ -26,6 +26,7 @@ namespace ModAssistant
|
|||
public const string BeatModsAPIUrl = "https://beatmods.com/api/v1/";
|
||||
public const string TeknikAPIUrl = "https://api.teknik.io/v1/";
|
||||
public const string BeatModsURL = "https://beatmods.com";
|
||||
public const string BeatModsAlias = "https://alias.beatmods.com/aliases.json";
|
||||
public const string WeebCDNAPIURL = "https://pat.assistant.moe/api/v1.0/";
|
||||
public const string BeatModsModsOptions = "mod?status=approved";
|
||||
public const string MD5Spacer = " ";
|
||||
|
|
|
@ -72,8 +72,8 @@
|
|||
<TextBlock FontSize="10">
|
||||
<TextBlock Text="{DynamicResource MainWindow:GameVersionLabel}" />:
|
||||
</TextBlock>
|
||||
<ComboBox Name="GameVersionsBox" Margin="0,5,5,0" SelectionChanged="GameVersionsBox_SelectionChanged">
|
||||
</ComboBox>
|
||||
<ComboBox Name="GameVersionsBox" Margin="0,5,5,0" SelectionChanged="GameVersionsBox_SelectionChanged" />
|
||||
<ComboBox Name="GameVersionsBoxOverride" Margin="0,5,5,0" Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
|
|
@ -18,6 +18,7 @@ namespace ModAssistant
|
|||
public static MainWindow Instance;
|
||||
public static bool ModsOpened = false;
|
||||
public static string GameVersion;
|
||||
public static string GameVersionOverride;
|
||||
public TaskCompletionSource<bool> VersionLoadStatus = new TaskCompletionSource<bool>();
|
||||
|
||||
public string MainText
|
||||
|
@ -89,15 +90,27 @@ namespace ModAssistant
|
|||
{
|
||||
var resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAPIUrl + "version");
|
||||
var body = await resp.Content.ReadAsStringAsync();
|
||||
|
||||
List<string> versions = JsonSerializer.Deserialize<string[]>(body).ToList();
|
||||
|
||||
resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAlias);
|
||||
body = await resp.Content.ReadAsStringAsync();
|
||||
object jsonObject = JsonSerializer.DeserializeObject(body);
|
||||
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
GameVersion = GetGameVersion(versions);
|
||||
GameVersion = GetGameVersion(versions, jsonObject);
|
||||
|
||||
GameVersionsBox.ItemsSource = versions;
|
||||
GameVersionsBox.SelectedValue = GameVersion;
|
||||
|
||||
if (!string.IsNullOrEmpty(GameVersionOverride))
|
||||
{
|
||||
GameVersionsBox.Visibility = Visibility.Collapsed;
|
||||
GameVersionsBoxOverride.Visibility = Visibility.Visible;
|
||||
GameVersionsBoxOverride.Text = GameVersionOverride;
|
||||
GameVersionsBoxOverride.IsEnabled = false;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(GameVersion) && Properties.Settings.Default.Agreed)
|
||||
{
|
||||
MainWindow.Instance.ModsButton.IsEnabled = true;
|
||||
|
@ -118,7 +131,7 @@ namespace ModAssistant
|
|||
}
|
||||
}
|
||||
|
||||
private string GetGameVersion(List<string> versions)
|
||||
private string GetGameVersion(List<string> versions, object aliases)
|
||||
{
|
||||
string version = Utils.GetVersion();
|
||||
if (!string.IsNullOrEmpty(version) && versions.Contains(version))
|
||||
|
@ -126,6 +139,12 @@ namespace ModAssistant
|
|||
return version;
|
||||
}
|
||||
|
||||
string aliasOf = CheckAliases(versions, aliases, version);
|
||||
if (!string.IsNullOrEmpty(aliasOf))
|
||||
{
|
||||
return aliasOf;
|
||||
}
|
||||
|
||||
string versionsString = String.Join(",", versions.ToArray());
|
||||
if (Properties.Settings.Default.AllGameVersions != versionsString)
|
||||
{
|
||||
|
@ -145,6 +164,24 @@ namespace ModAssistant
|
|||
return versions[0];
|
||||
}
|
||||
|
||||
private string CheckAliases(List<string> versions, object aliases, string detectedVersion)
|
||||
{
|
||||
Dictionary<string, object> Objects = (Dictionary<string, object>)aliases;
|
||||
foreach (string version in versions)
|
||||
{
|
||||
object[] aliasArray = (object[])Objects[version];
|
||||
foreach (object alias in aliasArray)
|
||||
{
|
||||
if (alias.ToString() == detectedVersion)
|
||||
{
|
||||
GameVersionOverride = detectedVersion;
|
||||
return version;
|
||||
}
|
||||
}
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
private async Task ShowModsPage()
|
||||
{
|
||||
void OpenModsPage()
|
||||
|
|
Loading…
Reference in a new issue