Files
berry-dash-godot-remake/Scripts/VersionChecker.cs
T
Puppet 0f1d574da3 Finished the outdated version menu
Now I can make any version either not be able to access the servers or
not be playable at all. So thats good.
2025-08-28 11:29:10 -07:00

54 lines
1.9 KiB
C#

using Godot;
using System;
using System.Text;
using System.Collections.Generic;
public partial class VersionChecker : Control {
public override void _Ready() {
Label VersionLabel = GetNode<Label>("Version");
string GameVersion = ProjectSettings.GetSetting("application/config/version").AsString();
VersionLabel.Text = "Version: " + GameVersion;
if (Globals.VersionChecked) {
Label LatestVersionLabel = GetNode<Label>("LatestVersion");
LatestVersionLabel.Text = "Latest Version: " + Globals.LatestVersion;
} else {
HttpRequest GetLatestVersionNode = GetNode<HttpRequest>("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<string> ResponseValues = [.. ResponseBody.Split(";")];
Globals.AccessLevel = ResponseValues[0];
Globals.LatestVersion = ResponseValues[1];
Label LatestVersionLabel = GetNode<Label>("LatestVersion");
LatestVersionLabel.Text = "Latest Version: " + Globals.LatestVersion;
Globals.VersionChecked = true;
string GameVersion = ProjectSettings.GetSetting("application/config/version").AsString();
if (Globals.AccessLevel != "all" || GameVersion != Globals.LatestVersion) {
var error = GetTree().ChangeSceneToFile("res://Scenes/OutdatedVersion.tscn");
if (error != Error.Ok) {
GD.PrintErr("Failed to change scene: " + error);
}
}
}
}