116 lines
3.9 KiB
C#
116 lines
3.9 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;
|
|
if (!Application.isMobilePlatform && Application.platform != RuntimePlatform.WebGLPlayer)
|
|
{
|
|
SetIfNone("Setting1", 1);
|
|
SetIfNone("Setting2", 0);
|
|
SetIfNone("Setting3", 1);
|
|
SetIfNone("Setting4", 0);
|
|
Screen.fullScreen = PlayerPrefs.GetInt("Setting1", 1) == 1;
|
|
}
|
|
else
|
|
{
|
|
SetIfNone("Setting1", 1, true);
|
|
SetIfNone("Setting2", 0);
|
|
SetIfNone("Setting3", 1, true);
|
|
SetIfNone("Setting4", 0);
|
|
Application.targetFrameRate = 360;
|
|
QualitySettings.vSyncCount = 0;
|
|
if (Application.platform == RuntimePlatform.WebGLPlayer) {
|
|
Screen.fullScreen = false;
|
|
}
|
|
}
|
|
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()
|
|
{
|
|
string response;
|
|
if (Application.platform != RuntimePlatform.WebGLPlayer)
|
|
{
|
|
using UnityWebRequest request = UnityWebRequest.Get(SensitiveInfo.SERVER_DATABASE_PREFIX + "canLoadClient.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)
|
|
{
|
|
text.text = "Failed to check version";
|
|
return;
|
|
}
|
|
response = request.downloadHandler.text;
|
|
}
|
|
else
|
|
{
|
|
response = "1";
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
} |