diff --git a/Scenes/MainMenu.tscn b/Scenes/MainMenu.tscn index 26abee9..139f3f3 100644 --- a/Scenes/MainMenu.tscn +++ b/Scenes/MainMenu.tscn @@ -176,6 +176,8 @@ theme_override_font_sizes/font_size = 81 text = "Latest Version: {Version Number}" horizontal_alignment = 2 +[node name="HTTPRequest" type="HTTPRequest" parent="VersionText/LatestVersion"] + [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] stream = ExtResource("2_853f1") autoplay = true diff --git a/Scripts/Globals.cs b/Scripts/Globals.cs index cc42691..448ae29 100644 --- a/Scripts/Globals.cs +++ b/Scripts/Globals.cs @@ -3,4 +3,5 @@ using System; public partial class Globals : Node { public static string LatestVersion = ""; + public static string AccessLevel = ""; } diff --git a/Scripts/VersionChecker.cs b/Scripts/VersionChecker.cs index d7ff9f7..dc503e1 100644 --- a/Scripts/VersionChecker.cs +++ b/Scripts/VersionChecker.cs @@ -1,5 +1,7 @@ using Godot; using System; +using System.Text; +using System.Collections.Generic; public partial class VersionChecker : Control { public override void _Ready() { @@ -7,5 +9,27 @@ public partial class VersionChecker : Control { string GameVersion = ProjectSettings.GetSetting("application/config/version").AsString(); VersionLabel.Text = "Version: " + GameVersion; + + HttpRequest GetLatestVersionNode = GetNode("LatestVersion/HTTPRequest"); + + GetLatestVersionNode.RequestCompleted += OnRequestCompleted; + + string url = "https://berrydash-godot.lncvrt.xyz/database/getLatestVersion.php?version=" + GameVersion; + + GetLatestVersionNode.Request(url); + } + + private void OnRequestCompleted(long result, long responseCode, string[] headers, byte[] body) { + string ResponseBody = Encoding.UTF8.GetString(body); + GD.Print(ResponseBody); + + List ResponseValues = [.. ResponseBody.Split(";")]; + + Globals.AccessLevel = ResponseValues[0]; + Globals.LatestVersion = ResponseValues[1]; + + Label LatestVersionLabel = GetNode