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 BeatModsAPIUrl = "https://beatmods.com/api/v1/";
|
||||||
public const string TeknikAPIUrl = "https://api.teknik.io/v1/";
|
public const string TeknikAPIUrl = "https://api.teknik.io/v1/";
|
||||||
public const string BeatModsURL = "https://beatmods.com";
|
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 WeebCDNAPIURL = "https://pat.assistant.moe/api/v1.0/";
|
||||||
public const string BeatModsModsOptions = "mod?status=approved";
|
public const string BeatModsModsOptions = "mod?status=approved";
|
||||||
public const string MD5Spacer = " ";
|
public const string MD5Spacer = " ";
|
||||||
|
|
|
@ -72,8 +72,8 @@
|
||||||
<TextBlock FontSize="10">
|
<TextBlock FontSize="10">
|
||||||
<TextBlock Text="{DynamicResource MainWindow:GameVersionLabel}" />:
|
<TextBlock Text="{DynamicResource MainWindow:GameVersionLabel}" />:
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<ComboBox Name="GameVersionsBox" Margin="0,5,5,0" SelectionChanged="GameVersionsBox_SelectionChanged">
|
<ComboBox Name="GameVersionsBox" Margin="0,5,5,0" SelectionChanged="GameVersionsBox_SelectionChanged" />
|
||||||
</ComboBox>
|
<ComboBox Name="GameVersionsBoxOverride" Margin="0,5,5,0" Visibility="Collapsed" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -18,6 +18,7 @@ namespace ModAssistant
|
||||||
public static MainWindow Instance;
|
public static MainWindow Instance;
|
||||||
public static bool ModsOpened = false;
|
public static bool ModsOpened = false;
|
||||||
public static string GameVersion;
|
public static string GameVersion;
|
||||||
|
public static string GameVersionOverride;
|
||||||
public TaskCompletionSource<bool> VersionLoadStatus = new TaskCompletionSource<bool>();
|
public TaskCompletionSource<bool> VersionLoadStatus = new TaskCompletionSource<bool>();
|
||||||
|
|
||||||
public string MainText
|
public string MainText
|
||||||
|
@ -89,15 +90,27 @@ namespace ModAssistant
|
||||||
{
|
{
|
||||||
var resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAPIUrl + "version");
|
var resp = await HttpClient.GetAsync(Utils.Constants.BeatModsAPIUrl + "version");
|
||||||
var body = await resp.Content.ReadAsStringAsync();
|
var body = await resp.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
List<string> versions = JsonSerializer.Deserialize<string[]>(body).ToList();
|
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(() =>
|
Dispatcher.Invoke(() =>
|
||||||
{
|
{
|
||||||
GameVersion = GetGameVersion(versions);
|
GameVersion = GetGameVersion(versions, jsonObject);
|
||||||
|
|
||||||
GameVersionsBox.ItemsSource = versions;
|
GameVersionsBox.ItemsSource = versions;
|
||||||
GameVersionsBox.SelectedValue = GameVersion;
|
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)
|
if (!string.IsNullOrEmpty(GameVersion) && Properties.Settings.Default.Agreed)
|
||||||
{
|
{
|
||||||
MainWindow.Instance.ModsButton.IsEnabled = true;
|
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();
|
string version = Utils.GetVersion();
|
||||||
if (!string.IsNullOrEmpty(version) && versions.Contains(version))
|
if (!string.IsNullOrEmpty(version) && versions.Contains(version))
|
||||||
|
@ -126,6 +139,12 @@ namespace ModAssistant
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string aliasOf = CheckAliases(versions, aliases, version);
|
||||||
|
if (!string.IsNullOrEmpty(aliasOf))
|
||||||
|
{
|
||||||
|
return aliasOf;
|
||||||
|
}
|
||||||
|
|
||||||
string versionsString = String.Join(",", versions.ToArray());
|
string versionsString = String.Join(",", versions.ToArray());
|
||||||
if (Properties.Settings.Default.AllGameVersions != versionsString)
|
if (Properties.Settings.Default.AllGameVersions != versionsString)
|
||||||
{
|
{
|
||||||
|
@ -145,6 +164,24 @@ namespace ModAssistant
|
||||||
return versions[0];
|
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()
|
private async Task ShowModsPage()
|
||||||
{
|
{
|
||||||
void OpenModsPage()
|
void OpenModsPage()
|
||||||
|
|
Loading…
Reference in a new issue