A bunch of tweaks

This commit is contained in:
2025-07-14 16:55:26 -07:00
parent 7d5f7ea7c6
commit 47030a76a1
19 changed files with 144 additions and 143 deletions

View File

@@ -31,7 +31,7 @@ public class AccountChangePassword : MonoBehaviour
{ {
if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text) if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text)
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red);
return; return;
} }
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
@@ -39,35 +39,35 @@ public class AccountChangePassword : MonoBehaviour
dataForm.AddField("newpassword", changePasswordNewPasswordInput.text); dataForm.AddField("newpassword", changePasswordNewPasswordInput.text);
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountPassword.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountPassword.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -77,11 +77,11 @@ public class AccountChangePassword : MonoBehaviour
{ {
BazookaManager.Instance.SetAccountSession((string)jsonResponse["token"]); BazookaManager.Instance.SetAccountSession((string)jsonResponse["token"]);
AccountHandler.instance.SwitchPanel(0); AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Password changed successfully", Color.green); Tools.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Password changed successfully", Color.green);
} }
else else
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(changePasswordStatusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }

View File

@@ -32,35 +32,35 @@ public class AccountChangeUsername : MonoBehaviour
dataForm.AddField("newusername", changeUsernameNewUsernameInput.text); dataForm.AddField("newusername", changeUsernameNewUsernameInput.text);
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountUsername.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountUsername.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -70,11 +70,11 @@ public class AccountChangeUsername : MonoBehaviour
{ {
BazookaManager.Instance.SetAccountName(changeUsernameNewUsernameInput.text); BazookaManager.Instance.SetAccountName(changeUsernameNewUsernameInput.text);
AccountHandler.instance.SwitchPanel(0); AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Username changed successfully", Color.green); Tools.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Username changed successfully", Color.green);
} }
else else
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(changeUsernameStatusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }

View File

@@ -1,4 +1,3 @@
using TMPro;
using UnityEngine; using UnityEngine;
public class AccountHandler : MonoBehaviour public class AccountHandler : MonoBehaviour
@@ -98,10 +97,4 @@ public class AccountHandler : MonoBehaviour
break; break;
} }
} }
public static void UpdateStatusText(TMP_Text statusText, string message, Color color)
{
statusText.text = message;
statusText.color = color;
}
} }

View File

@@ -39,7 +39,7 @@ public class AccountLoggedIn : MonoBehaviour
{ {
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Logged in as: " + BazookaManager.Instance.GetAccountName(), Color.white); Tools.UpdateStatusText(loggedInText, "Logged in as: " + BazookaManager.Instance.GetAccountName(), Color.white);
} }
async void SaveAccount() async void SaveAccount()
@@ -60,35 +60,35 @@ public class AccountLoggedIn : MonoBehaviour
dataForm.AddField("totalAttempts", BazookaManager.Instance.GetGameStoreTotalAttepts().ToString()); dataForm.AddField("totalAttempts", BazookaManager.Instance.GetGameStoreTotalAttepts().ToString());
dataForm.AddField("birdColor", BazookaManager.Instance.GetColorSettingIcon().ToString(Formatting.None)); dataForm.AddField("birdColor", BazookaManager.Instance.GetColorSettingIcon().ToString(Formatting.None));
dataForm.AddField("overlayColor", BazookaManager.Instance.GetColorSettingOverlay().ToString(Formatting.None)); dataForm.AddField("overlayColor", BazookaManager.Instance.GetColorSettingOverlay().ToString(Formatting.None));
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "saveAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "saveAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -96,11 +96,11 @@ public class AccountLoggedIn : MonoBehaviour
var jsonResponse = JObject.Parse(response); var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"]) if ((bool)jsonResponse["success"])
{ {
AccountHandler.UpdateStatusText(loggedInText, "Synced account", Color.green); Tools.UpdateStatusText(loggedInText, "Synced account", Color.green);
} }
else else
{ {
AccountHandler.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
} }
} }
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;
@@ -114,35 +114,35 @@ public class AccountLoggedIn : MonoBehaviour
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loadAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loadAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -161,11 +161,11 @@ public class AccountLoggedIn : MonoBehaviour
BazookaManager.Instance.SetGameStoreTotalAttepts(BigInteger.Parse((string)jsonResponse["totalAttempts"])); BazookaManager.Instance.SetGameStoreTotalAttepts(BigInteger.Parse((string)jsonResponse["totalAttempts"]));
BazookaManager.Instance.SetColorSettingIcon(JArray.Parse(jsonResponse["birdColor"].ToString())); BazookaManager.Instance.SetColorSettingIcon(JArray.Parse(jsonResponse["birdColor"].ToString()));
BazookaManager.Instance.SetColorSettingOverlay(JArray.Parse(jsonResponse["overlayColor"].ToString())); BazookaManager.Instance.SetColorSettingOverlay(JArray.Parse(jsonResponse["overlayColor"].ToString()));
AccountHandler.UpdateStatusText(loggedInText, "Loaded account data", Color.green); Tools.UpdateStatusText(loggedInText, "Loaded account data", Color.green);
} }
else else
{ {
AccountHandler.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
} }
} }
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;

View File

@@ -31,7 +31,7 @@ public class AccountLogin : MonoBehaviour
{ {
if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty) if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty)
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red);
return; return;
} }
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
@@ -39,35 +39,35 @@ public class AccountLogin : MonoBehaviour
dataForm.AddField("password", loginPasswordInput.text); dataForm.AddField("password", loginPasswordInput.text);
dataForm.AddField("currentHighScore", BazookaManager.Instance.GetGameStoreHighScore().ToString()); dataForm.AddField("currentHighScore", BazookaManager.Instance.GetGameStoreHighScore().ToString());
dataForm.AddField("loginType", "0"); dataForm.AddField("loginType", "0");
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -90,11 +90,11 @@ public class AccountLogin : MonoBehaviour
BazookaManager.Instance.SetColorSettingIcon(JArray.Parse(jsonResponse["data"]["birdColor"].ToString())); BazookaManager.Instance.SetColorSettingIcon(JArray.Parse(jsonResponse["data"]["birdColor"].ToString()));
BazookaManager.Instance.SetColorSettingOverlay(JArray.Parse(jsonResponse["data"]["overlayColor"].ToString())); BazookaManager.Instance.SetColorSettingOverlay(JArray.Parse(jsonResponse["data"]["overlayColor"].ToString()));
AccountHandler.instance.SwitchPanel(0); AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(loginPanelStatusText, "", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "", Color.red);
} }
else else
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(loginPanelStatusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }

View File

@@ -31,35 +31,35 @@ public class AccountRefreshLogin : MonoBehaviour
dataForm.AddField("username", refreshLoginUsernameInput.text); dataForm.AddField("username", refreshLoginUsernameInput.text);
dataForm.AddField("password", refreshLoginPasswordInput.text); dataForm.AddField("password", refreshLoginPasswordInput.text);
dataForm.AddField("loginType", "1"); dataForm.AddField("loginType", "1");
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -71,11 +71,11 @@ public class AccountRefreshLogin : MonoBehaviour
BazookaManager.Instance.SetAccountName((string)jsonResponse["data"]["username"]); BazookaManager.Instance.SetAccountName((string)jsonResponse["data"]["username"]);
BazookaManager.Instance.SetAccountID(BigInteger.Parse((string)jsonResponse["data"]["userid"])); BazookaManager.Instance.SetAccountID(BigInteger.Parse((string)jsonResponse["data"]["userid"]));
AccountHandler.instance.SwitchPanel(0); AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(refreshLoginStatusText, "", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "", Color.red);
} }
else else
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(refreshLoginStatusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }

View File

@@ -41,52 +41,52 @@ public class AccountRegister : MonoBehaviour
registerRetypePasswordInput.text == string.Empty registerRetypePasswordInput.text == string.Empty
) )
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "All input fields must be filled", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "All input fields must be filled", Color.red);
return; return;
} }
if (registerEmailInput.text != registerRetypeEmailInput.text) if (registerEmailInput.text != registerRetypeEmailInput.text)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Emails don't match", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Emails don't match", Color.red);
return; return;
} }
if (registerPasswordInput.text != registerRetypePasswordInput.text) if (registerPasswordInput.text != registerRetypePasswordInput.text)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red);
return; return;
} }
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", registerUsernameInput.text); dataForm.AddField("username", registerUsernameInput.text);
dataForm.AddField("email", registerEmailInput.text); dataForm.AddField("email", registerEmailInput.text);
dataForm.AddField("password", registerPasswordInput.text); dataForm.AddField("password", registerPasswordInput.text);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "registerAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "registerAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -98,7 +98,7 @@ public class AccountRegister : MonoBehaviour
} }
else else
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(registerPanelStatusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }

View File

@@ -153,8 +153,8 @@ public class BazookaManager : MonoBehaviour
public JObject GetCustomBirdIconData() public JObject GetCustomBirdIconData()
{ {
if (saveFile["bird"] == null) return null; if (saveFile["bird"] == null) return new();
if (saveFile["bird"]["customIcon"] == null) return null; if (saveFile["bird"]["customIcon"] == null) return new();
return saveFile["bird"]["customIcon"] as JObject; return saveFile["bird"]["customIcon"] as JObject;
} }

View File

@@ -61,7 +61,7 @@ public class ChatroomMenu : MonoBehaviour
dataForm.AddField("content", text); dataForm.AddField("content", text);
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "sendChatroomMessage.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "sendChatroomMessage.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());

View File

@@ -2,13 +2,11 @@ using UnityEngine;
public class EncryptedWWWForm public class EncryptedWWWForm
{ {
private readonly WWWForm form = new(); public readonly WWWForm form = new();
public void AddField(string key, string value) public void AddField(string key, string value)
{ {
if (SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY.Trim() != string.Empty && SensitiveInfo.SERVER_SEND_TRANSFER_KEY.Trim() != string.Empty) if (SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY.Trim() != string.Empty && SensitiveInfo.SERVER_SEND_TRANSFER_KEY.Trim() != string.Empty)
form.AddField(SensitiveInfo.Encrypt(key, SensitiveInfo.SERVER_SEND_TRANSFER_KEY), SensitiveInfo.Encrypt(value, SensitiveInfo.SERVER_SEND_TRANSFER_KEY)); form.AddField(SensitiveInfo.Encrypt(key, SensitiveInfo.SERVER_SEND_TRANSFER_KEY), SensitiveInfo.Encrypt(value, SensitiveInfo.SERVER_SEND_TRANSFER_KEY));
} }
public WWWForm GetWWWForm() => form;
} }

View File

@@ -672,7 +672,7 @@ public class GamePlayer : MonoBehaviour
} }
} }
public void TogglePause() internal void TogglePause()
{ {
if (pausePanel.activeSelf) if (pausePanel.activeSelf)
{ {
@@ -684,7 +684,7 @@ public class GamePlayer : MonoBehaviour
} }
} }
public void EnablePause() internal void EnablePause()
{ {
Cursor.visible = true; Cursor.visible = true;
Cursor.lockState = CursorLockMode.None; Cursor.lockState = CursorLockMode.None;
@@ -692,7 +692,7 @@ public class GamePlayer : MonoBehaviour
pausePanel.SetActive(true); pausePanel.SetActive(true);
} }
public void DisablePause() internal void DisablePause()
{ {
lastMoveTime = Time.time; lastMoveTime = Time.time;
Cursor.visible = false; Cursor.visible = false;

View File

@@ -27,7 +27,7 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
Destroy(item.gameObject); Destroy(item.gameObject);
} }
} }
AccountHandler.UpdateStatusText(statusText, "Loading...", Color.white); Tools.UpdateStatusText(statusText, "Loading...", Color.white);
using UnityWebRequest request = UnityWebRequest.Get(SensitiveInfo.SERVER_DATABASE_PREFIX + "getMarketplaceIcons.php"); using UnityWebRequest request = UnityWebRequest.Get(SensitiveInfo.SERVER_DATABASE_PREFIX + "getMarketplaceIcons.php");
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
@@ -35,40 +35,40 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(statusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(statusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
{ {
AccountHandler.UpdateStatusText(statusText, "", Color.red); Tools.UpdateStatusText(statusText, "", Color.red);
var jsonResponse = JArray.Parse(response); var jsonResponse = JArray.Parse(response);
foreach (var item in jsonResponse) foreach (var item in jsonResponse)
{ {
JObject entry = (JObject)item; JObject entry = (JObject)item;
GameObject newIcon = Instantiate(sample, content.transform); GameObject newIcon = Instantiate(sample, content.transform);
ImageUtil.RenderFromBase64(entry["data"].ToString(), newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>()); Tools.RenderFromBase64(entry["data"].ToString(), newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>());
newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry["name"].ToString(); newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry["name"].ToString();
newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + entry["price"].ToString() + " coin"; newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + entry["price"].ToString() + " coin";
newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry["username"].ToString(); newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry["username"].ToString();

View File

@@ -13,6 +13,7 @@ public class IconMarketplaceManager : MonoBehaviour
public Button downloadButton; public Button downloadButton;
public Button uploadButton; public Button uploadButton;
public TMP_Text coinText;
void Awake() void Awake()
{ {
@@ -33,13 +34,15 @@ public class IconMarketplaceManager : MonoBehaviour
uploadButton.transform.GetChild(1).GetComponent<TMP_Text>().text = "Not logged in to an account"; uploadButton.transform.GetChild(1).GetComponent<TMP_Text>().text = "Not logged in to an account";
} }
#endif #endif
SwitchPanel(0);
} }
public void SwitchPanel(int panelIndex) internal void SwitchPanel(int panelIndex)
{ {
switch (panelIndex) switch (panelIndex)
{ {
case 0: case 0:
coinText.text = "You have " + Tools.FormatWithCommas((BazookaManager.Instance.GetCustomBirdIconData()["totalCoins"] ?? "0").ToString()) + " coins";
normalPanel.SetActive(true); normalPanel.SetActive(true);
downloadPanel.SetActive(false); downloadPanel.SetActive(false);
uploadPanel.SetActive(false); uploadPanel.SetActive(false);
@@ -50,6 +53,7 @@ public class IconMarketplaceManager : MonoBehaviour
uploadPanel.SetActive(false); uploadPanel.SetActive(false);
break; break;
case 2: case 2:
uploadPanelScript.Reset();
normalPanel.SetActive(false); normalPanel.SetActive(false);
downloadPanel.SetActive(false); downloadPanel.SetActive(false);
uploadPanel.SetActive(true); uploadPanel.SetActive(true);

View File

@@ -26,15 +26,15 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
{ {
if (birdNameInput.text.Trim() == string.Empty) if (birdNameInput.text.Trim() == string.Empty)
{ {
AccountHandler.UpdateStatusText(statusText, "Bird name can't be empty", Color.red); Tools.UpdateStatusText(statusText, "Bird name can't be empty", Color.red);
} }
else if (birdPriceInput.text.Trim() == string.Empty) else if (birdPriceInput.text.Trim() == string.Empty)
{ {
AccountHandler.UpdateStatusText(statusText, "Bird price can't be empty", Color.red); Tools.UpdateStatusText(statusText, "Bird price can't be empty", Color.red);
} }
else if (birdData == null) else if (birdData == null)
{ {
AccountHandler.UpdateStatusText(statusText, "You must upload an image", Color.red); Tools.UpdateStatusText(statusText, "You must upload an image", Color.red);
} }
else else
{ {
@@ -51,15 +51,15 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
fileContent = File.ReadAllBytes(path); fileContent = File.ReadAllBytes(path);
if (fileContent.Length > 1024 * 1024) if (fileContent.Length > 1024 * 1024)
{ {
AccountHandler.UpdateStatusText(statusText, "File size exceeds 1 MB limit", Color.red); Tools.UpdateStatusText(statusText, "File size exceeds 1 MB limit", Color.red);
return; return;
} }
birdData = Convert.ToBase64String(fileContent); birdData = Convert.ToBase64String(fileContent);
ImageUtil.RenderFromBase64(birdData, birdImage); Tools.RenderFromBase64(birdData, birdImage);
} }
catch (Exception e) catch (Exception e)
{ {
AccountHandler.UpdateStatusText(statusText, "Failed to read file: " + e.Message, Color.red); Tools.UpdateStatusText(statusText, "Failed to read file: " + e.Message, Color.red);
return; return;
} }
}); });
@@ -86,35 +86,35 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
dataForm.AddField("name", birdNameInput.text); dataForm.AddField("name", birdNameInput.text);
dataForm.AddField("price", birdPriceInput.text); dataForm.AddField("price", birdPriceInput.text);
dataForm.AddField("filecontent", birdData); dataForm.AddField("filecontent", birdData);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "uploadMarketplaceIcon.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "uploadMarketplaceIcon.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(statusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(statusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-996") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red); Tools.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red);
return; return;
} }
else else
@@ -122,16 +122,22 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
var jsonResponse = JObject.Parse(response); var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"]) if ((bool)jsonResponse["success"])
{ {
birdImage.sprite = Resources.Load<Sprite>("Other/X"); Reset();
birdData = null; Tools.UpdateStatusText(statusText, "Icon uploaded successfully!", Color.green);
birdNameInput.text = "";
birdPriceInput.text = "";
AccountHandler.UpdateStatusText(statusText, "Icon uploaded successfully!", Color.green);
} }
else else
{ {
AccountHandler.UpdateStatusText(statusText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(statusText, (string)jsonResponse["message"], Color.red);
} }
} }
} }
internal void Reset()
{
birdImage.sprite = Resources.Load<Sprite>("Other/X");
birdData = null;
birdNameInput.text = string.Empty;
birdPriceInput.text = string.Empty;
statusText.text = string.Empty;
}
} }

View File

@@ -1,33 +0,0 @@
using System;
using UnityEngine;
using UnityEngine.UI;
public static class ImageUtil
{
public static void RenderFromBase64(string base64, Image targetImage)
{
byte[] imageData = Convert.FromBase64String(base64);
Texture2D tex = new(2, 2, TextureFormat.ARGB32, false);
if (!tex.LoadImage(imageData)) return;
tex.filterMode = FilterMode.Point;
tex.Apply(false, false);
Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
targetImage.sprite = sprite;
}
public static void RenderFromBase64(string base64, SpriteRenderer targetImage)
{
byte[] imageData = Convert.FromBase64String(base64);
Texture2D tex = new(2, 2, TextureFormat.ARGB32, false);
if (!tex.LoadImage(imageData)) return;
tex.filterMode = FilterMode.Point;
tex.Apply(false, false);
Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
targetImage.sprite = sprite;
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: f608a791036150d12852f910d572dbc4

View File

@@ -59,7 +59,7 @@ public class LatestVersionText : MonoBehaviour
RefreshText(); RefreshText();
} }
public void RefreshText() internal void RefreshText()
{ {
if (text == null || updateButton == null) return; if (text == null || updateButton == null) return;
if (latest == null) if (latest == null)

View File

@@ -113,7 +113,7 @@ public class LeaderboardsMenu : MonoBehaviour
UpdateStatus(true, "Loading..."); UpdateStatus(true, "Loading...");
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("type", "0"); dataForm.AddField("type", "0");
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "getTopPlayers.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "getTopPlayers.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
@@ -230,7 +230,7 @@ public class LeaderboardsMenu : MonoBehaviour
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("showType", showAmount.ToString()); dataForm.AddField("showType", showAmount.ToString());
dataForm.AddField("type", "1"); dataForm.AddField("type", "1");
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "getTopPlayers.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "getTopPlayers.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());

View File

@@ -1,5 +1,8 @@
using System.Numerics; using System;
using System.Numerics;
using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public static class Tools public static class Tools
{ {
@@ -39,4 +42,36 @@ public static class Tools
{ {
return string.Format("{0:N0}", number); return string.Format("{0:N0}", number);
} }
public static void UpdateStatusText(TMP_Text statusText, string message, Color color)
{
statusText.text = message;
statusText.color = color;
}
public static void RenderFromBase64(string base64, Image targetImage)
{
byte[] imageData = Convert.FromBase64String(base64);
Texture2D tex = new(2, 2, TextureFormat.ARGB32, false);
if (!tex.LoadImage(imageData)) return;
tex.filterMode = FilterMode.Point;
tex.Apply(false, false);
Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new UnityEngine.Vector2(0.5f, 0.5f));
targetImage.sprite = sprite;
}
public static void RenderFromBase64(string base64, SpriteRenderer targetImage)
{
byte[] imageData = Convert.FromBase64String(base64);
Texture2D tex = new(2, 2, TextureFormat.ARGB32, false);
if (!tex.LoadImage(imageData)) return;
tex.filterMode = FilterMode.Point;
tex.Apply(false, false);
Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new UnityEngine.Vector2(0.5f, 0.5f));
targetImage.sprite = sprite;
}
} }