Files
source/Assets/Scripts/LatestVersionText.cs
Lncvrt 4e95668675 Remove some webgl stuff
Browser support is being dropped
2025-07-01 22:53:58 -07:00

73 lines
1.9 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class LatestVersionText : MonoBehaviour
{
public static LatestVersionText Instance;
public TMP_Text text;
public Button updateButton;
private string latest = null;
void Awake()
{
if (Instance != null && Instance != this)
{
Destroy(gameObject);
return;
}
Instance = this;
DontDestroyOnLoad(gameObject);
if (updateButton != null)
{
updateButton.onClick.AddListener(() =>
{
Application.OpenURL("https://berrydash.lncvrt.xyz/download");
});
}
}
void Start()
{
RefreshText();
if (latest == null) GetLatestVersion();
}
void OnEnable()
{
RefreshText();
}
async void GetLatestVersion()
{
using UnityWebRequest request = UnityWebRequest.Get(SensitiveInfo.SERVER_DATABASE_PREFIX + "getLatestVersion.php");
request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success)
{
latest = "-1";
}
else
{
latest = request.downloadHandler.text;
if (updateButton != null) updateButton.gameObject.SetActive(latest != Application.version);
}
RefreshText();
}
public void RefreshText()
{
if (text == null) return;
if (latest == null)
text.text = "Latest: Loading...";
else if (latest == "-1")
text.text = "Latest: N/A";
else
text.text = "Latest: v" + latest;
}
}