Files
source/Assets/Scripts/LoadingMenu.cs
Lncvrt 73cf036569 Remove on screen buttons and bigger buttons settings (it's default bigger buttons)
This auto converts if you are on beta1, it will keep your show fps and
vsync setting. This also fixes VSync being incorrect.
2025-06-05 15:15:51 -07:00

103 lines
3.4 KiB
C#

using System;
using TMPro;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class LoadingMenu : MonoBehaviour
{
public TMP_Text text;
public Button updateButton;
public Button continueButton;
void Awake()
{
if (PlayerPrefs.GetString("latestVersion", Application.version) == "1.4.0-beta1")
{
PlayerPrefs.DeleteKey("Setting2");
PlayerPrefs.DeleteKey("Setting3");
PlayerPrefs.SetInt("Setting2", PlayerPrefs.GetInt("Setting4", 0));
PlayerPrefs.SetInt("Setting3", PlayerPrefs.GetInt("Setting5", 0));
PlayerPrefs.SetString("latestVersion", "1.4.0");
}
if (PlayerPrefs.HasKey("HighScore"))
{
PlayerPrefs.SetString("HighScoreV2", Math.Max(PlayerPrefs.GetInt("HighScore"), 0).ToString());
PlayerPrefs.DeleteKey("HighScore");
}
QualitySettings.vSyncCount = PlayerPrefs.GetInt("Setting3", 1) == 1 ? 1 : -1;
Screen.fullScreen = PlayerPrefs.GetInt("Setting1", 1) == 1;
if (!Application.isMobilePlatform)
{
SetIfNone("Setting1", 1);
SetIfNone("Setting2", 0);
SetIfNone("Setting3", 1);
}
else
{
SetIfNone("Setting1", 1, true);
SetIfNone("Setting2", 1, true);
SetIfNone("Setting3", 0, true);
QualitySettings.vSyncCount = 0;
}
PlayerPrefs.SetString("latestVersion", Application.version);
updateButton.onClick.AddListener(() =>
{
Application.OpenURL("https://berrydash.lncvrt.xyz/download");
});
continueButton.onClick.AddListener(async () =>
{
await SceneManager.LoadSceneAsync("MainMenu");
});
}
void Start()
{
CheckUpdate();
}
async void CheckUpdate()
{
using UnityWebRequest request = UnityWebRequest.Get("https://berrydash.lncvrt.xyz/database/canLoadClient.php");
request.SetRequestHeader("User-Agent", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success)
{
text.text = "Failed to check version";
return;
}
string response = request.downloadHandler.text;
if (response == "1")
{
await SceneManager.LoadSceneAsync("MainMenu");
}
else if (response == "2")
{
text.text = "Outdated client! You can still load into the game, but online features may not be available.";
var updateButtonPos = updateButton.transform.localPosition;
updateButtonPos.x = -135;
updateButton.transform.localPosition = updateButtonPos;
updateButton.gameObject.SetActive(true);
continueButton.gameObject.SetActive(true);
}
else
{
text.text = "Outdated client! Please update your client to play";
updateButton.gameObject.SetActive(true);
}
}
void SetIfNone(string key, int value, bool overrideValue = false)
{
if (!PlayerPrefs.HasKey(key) || overrideValue)
{
PlayerPrefs.SetInt(key, value);
}
}
}