10 Commits
1.6.2 ... 1.6.3

Author SHA1 Message Date
3999f810a3 1.6.3 2025-08-27 22:31:59 -07:00
22c7e2f570 Improvements & fixing potential bugs 2025-08-27 22:29:55 -07:00
077f5c324c Forgot to add this 2025-08-27 22:11:50 -07:00
cf3c5388c5 Forgot to add sort by support 2025-08-27 22:02:29 -07:00
42c1d2d48c Fix a bug where you get stuck in options menu 2025-08-27 21:40:57 -07:00
d62ea4d09b Marketplace download options and refresh button 2025-08-27 21:31:55 -07:00
98782c8ce9 Fix slider text not disappearing when editing the UI 2025-08-27 20:42:35 -07:00
64836dbe4b Update readme 2025-08-27 19:50:34 -07:00
dec3995449 Readonly thing 2025-08-27 19:28:45 -07:00
f9231e568f Fix input for custom bird name 2025-08-27 00:39:50 -07:00
14 changed files with 5595 additions and 314 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
f309,f111,f141,f04c,f0e2,f077,f061,f060,f0c8,f00c,f00d,f303,f2ed f309,f111,f141,f04c,f0e2,f077,f061,f060,f0c8,f00c,f00d,f303,f2ed,f0b0

View File

@@ -1432,6 +1432,8 @@ MonoBehaviour:
songLoop: {fileID: 1625416039} songLoop: {fileID: 1625416039}
musicSlider: {fileID: 208042169} musicSlider: {fileID: 208042169}
sfxSlider: {fileID: 604620478} sfxSlider: {fileID: 604620478}
musicSliderText: {fileID: 1859415099}
sfxSliderText: {fileID: 699129040}
fpsText: {fileID: 83812371} fpsText: {fileID: 83812371}
scoreText: {fileID: 432923591} scoreText: {fileID: 432923591}
highScoreText: {fileID: 1606868532} highScoreText: {fileID: 1606868532}

File diff suppressed because it is too large Load Diff

View File

@@ -29,13 +29,13 @@ public class AccountChangePassword : MonoBehaviour
async void ChangePassword() async void ChangePassword()
{ {
changePasswordBackButton.interactable = false;
if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text) if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text)
{ {
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red);
return; return;
} }
changePasswordBackButton.interactable = false;
changePasswordSubmitButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("oldpassword", changePasswordCurrentPasswordInput.text); dataForm.AddField("oldpassword", changePasswordCurrentPasswordInput.text);
dataForm.AddField("newpassword", changePasswordNewPasswordInput.text); dataForm.AddField("newpassword", changePasswordNewPasswordInput.text);
@@ -49,33 +49,26 @@ public class AccountChangePassword : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
changePasswordBackButton.interactable = true; changePasswordBackButton.interactable = true;
changePasswordSubmitButton.interactable = true;
Tools.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")
{ {
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
changePasswordBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -92,5 +85,6 @@ public class AccountChangePassword : MonoBehaviour
} }
} }
changePasswordBackButton.interactable = true; changePasswordBackButton.interactable = true;
changePasswordSubmitButton.interactable = true;
} }
} }

View File

@@ -28,6 +28,7 @@ public class AccountChangeUsername : MonoBehaviour
async void ChangeUsername() async void ChangeUsername()
{ {
changeUsernameBackButton.interactable = false; changeUsernameBackButton.interactable = false;
changeUsernameSubmitButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("oldusername", changeUsernameCurrentUsernameInput.text); dataForm.AddField("oldusername", changeUsernameCurrentUsernameInput.text);
dataForm.AddField("newusername", changeUsernameNewUsernameInput.text); dataForm.AddField("newusername", changeUsernameNewUsernameInput.text);
@@ -41,33 +42,26 @@ public class AccountChangeUsername : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
changeUsernameBackButton.interactable = true; changeUsernameBackButton.interactable = true;
changeUsernameSubmitButton.interactable = true;
Tools.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")
{ {
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
changeUsernameBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -84,5 +78,6 @@ public class AccountChangeUsername : MonoBehaviour
} }
} }
changeUsernameBackButton.interactable = true; changeUsernameBackButton.interactable = true;
changeUsernameSubmitButton.interactable = true;
} }
} }

View File

@@ -44,8 +44,12 @@ public class AccountLoggedIn : MonoBehaviour
async void SaveAccount() async void SaveAccount()
{ {
loggedInLoadButton.interactable = false; loggedInChangeUsernameButton.interactable = false;
loggedInChangePasswordButton.interactable = false;
loggedInSaveButton.interactable = false; loggedInSaveButton.interactable = false;
loggedInLoadButton.interactable = false;
loggedInRefreshLoginButton.interactable = false;
loggedInLogoutButton.interactable = false;
loggedInBackButton.interactable = false; loggedInBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
@@ -58,8 +62,12 @@ public class AccountLoggedIn : MonoBehaviour
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
loggedInLoadButton.interactable = true; loggedInChangeUsernameButton.interactable = true;
loggedInChangePasswordButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true;
loggedInRefreshLoginButton.interactable = true;
loggedInLogoutButton.interactable = true;
loggedInBackButton.interactable = true; loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
@@ -67,35 +75,19 @@ public class AccountLoggedIn : MonoBehaviour
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")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -109,15 +101,23 @@ public class AccountLoggedIn : MonoBehaviour
Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
} }
} }
loggedInLoadButton.interactable = true; loggedInChangeUsernameButton.interactable = true;
loggedInChangePasswordButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true;
loggedInRefreshLoginButton.interactable = true;
loggedInLogoutButton.interactable = true;
loggedInBackButton.interactable = true; loggedInBackButton.interactable = true;
} }
async void LoadAccount() async void LoadAccount()
{ {
loggedInLoadButton.interactable = false; loggedInChangeUsernameButton.interactable = false;
loggedInChangePasswordButton.interactable = false;
loggedInSaveButton.interactable = false; loggedInSaveButton.interactable = false;
loggedInLoadButton.interactable = false;
loggedInRefreshLoginButton.interactable = false;
loggedInLogoutButton.interactable = false;
loggedInBackButton.interactable = false; loggedInBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
@@ -129,8 +129,12 @@ public class AccountLoggedIn : MonoBehaviour
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
loggedInLoadButton.interactable = true; loggedInChangeUsernameButton.interactable = true;
loggedInChangePasswordButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true;
loggedInRefreshLoginButton.interactable = true;
loggedInLogoutButton.interactable = true;
loggedInBackButton.interactable = true; loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
@@ -138,35 +142,19 @@ public class AccountLoggedIn : MonoBehaviour
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")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -181,8 +169,12 @@ public class AccountLoggedIn : MonoBehaviour
Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red); Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
} }
} }
loggedInLoadButton.interactable = true; loggedInChangeUsernameButton.interactable = true;
loggedInChangePasswordButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true;
loggedInRefreshLoginButton.interactable = true;
loggedInLogoutButton.interactable = true;
loggedInBackButton.interactable = true; loggedInBackButton.interactable = true;
} }
} }

View File

@@ -1,5 +1,4 @@
using System.Numerics; using System.Numerics;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
@@ -30,6 +29,7 @@ public class AccountLogin : MonoBehaviour
async void SubmitLogin() async void SubmitLogin()
{ {
loginBackButton.interactable = false; loginBackButton.interactable = false;
loginSubmitButton.interactable = false;
if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty) if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty)
{ {
Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red);
@@ -47,33 +47,26 @@ public class AccountLogin : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
loginBackButton.interactable = true; loginBackButton.interactable = true;
loginSubmitButton.interactable = true;
Tools.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")
{ {
loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
loginBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -92,5 +85,6 @@ public class AccountLogin : MonoBehaviour
} }
} }
loginBackButton.interactable = true; loginBackButton.interactable = true;
loginSubmitButton.interactable = true;
} }
} }

View File

@@ -28,6 +28,7 @@ public class AccountRefreshLogin : MonoBehaviour
async void RefreshLogin() async void RefreshLogin()
{ {
refreshLoginBackButton.interactable = false; refreshLoginBackButton.interactable = false;
refreshLoginSubmitButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", refreshLoginUsernameInput.text); dataForm.AddField("username", refreshLoginUsernameInput.text);
dataForm.AddField("password", refreshLoginPasswordInput.text); dataForm.AddField("password", refreshLoginPasswordInput.text);
@@ -39,33 +40,26 @@ public class AccountRefreshLogin : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
refreshLoginBackButton.interactable = true; refreshLoginBackButton.interactable = true;
refreshLoginSubmitButton.interactable = true;
Tools.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")
{ {
refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
refreshLoginBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -84,5 +78,6 @@ public class AccountRefreshLogin : MonoBehaviour
} }
} }
refreshLoginBackButton.interactable = true; refreshLoginBackButton.interactable = true;
refreshLoginSubmitButton.interactable = true;
} }
} }

View File

@@ -33,7 +33,6 @@ public class AccountRegister : MonoBehaviour
async void SubmitRegister() async void SubmitRegister()
{ {
registerBackButton.interactable = false;
if ( if (
registerUsernameInput.text == string.Empty || registerUsernameInput.text == string.Empty ||
registerEmailInput.text == string.Empty || registerEmailInput.text == string.Empty ||
@@ -42,22 +41,21 @@ public class AccountRegister : MonoBehaviour
registerRetypePasswordInput.text == string.Empty registerRetypePasswordInput.text == string.Empty
) )
{ {
registerBackButton.interactable = true;
Tools.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)
{ {
registerBackButton.interactable = true;
Tools.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)
{ {
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red);
return; return;
} }
registerBackButton.interactable = false;
registerSubmitButton.interactable = false;
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);
@@ -70,33 +68,26 @@ public class AccountRegister : MonoBehaviour
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
registerBackButton.interactable = true; registerBackButton.interactable = true;
registerSubmitButton.interactable = true;
Tools.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")
{ {
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red);
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red);
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red);
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
registerBackButton.interactable = true;
Tools.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;
} }
else else
{ {
@@ -111,5 +102,6 @@ public class AccountRegister : MonoBehaviour
} }
} }
registerBackButton.interactable = true; registerBackButton.interactable = true;
registerSubmitButton.interactable = true;
} }
} }

View File

@@ -12,6 +12,8 @@ public class GamePlayerPauseMenu : MonoBehaviour
public AudioSource songLoop; public AudioSource songLoop;
public Slider musicSlider; public Slider musicSlider;
public Slider sfxSlider; public Slider sfxSlider;
public TMP_Text musicSliderText;
public TMP_Text sfxSliderText;
public TMP_Text fpsText; public TMP_Text fpsText;
public TMP_Text scoreText; public TMP_Text scoreText;
public TMP_Text highScoreText; public TMP_Text highScoreText;
@@ -80,6 +82,8 @@ public class GamePlayerPauseMenu : MonoBehaviour
editingUI = !editingUI; editingUI = !editingUI;
musicSlider.gameObject.SetActive(!musicSlider.gameObject.activeSelf); musicSlider.gameObject.SetActive(!musicSlider.gameObject.activeSelf);
sfxSlider.gameObject.SetActive(!sfxSlider.gameObject.activeSelf); sfxSlider.gameObject.SetActive(!sfxSlider.gameObject.activeSelf);
musicSliderText.gameObject.SetActive(musicSlider.gameObject.activeSelf);
sfxSliderText.gameObject.SetActive(sfxSlider.gameObject.activeSelf);
backButton.gameObject.SetActive(!backButton.gameObject.activeSelf); backButton.gameObject.SetActive(!backButton.gameObject.activeSelf);
continueButton.gameObject.SetActive(!continueButton.gameObject.activeSelf); continueButton.gameObject.SetActive(!continueButton.gameObject.activeSelf);
editUiButton.transform.GetChild(0).GetComponent<TMP_Text>().text = editUiButton.transform.GetChild(0).GetComponent<TMP_Text>().text == "Edit UI" ? "Done" : "Edit UI"; editUiButton.transform.GetChild(0).GetComponent<TMP_Text>().text = editUiButton.transform.GetChild(0).GetComponent<TMP_Text>().text == "Edit UI" ? "Done" : "Edit UI";

View File

@@ -9,7 +9,7 @@ using UnityEngine.UI;
public class IconMarketplaceDownloadIcon : MonoBehaviour public class IconMarketplaceDownloadIcon : MonoBehaviour
{ {
private static WaitForSeconds _waitForSeconds2 = new(2f); private readonly static WaitForSeconds _waitForSeconds2 = new(2f);
public IconMarketplaceManager marketplaceManager; public IconMarketplaceManager marketplaceManager;
public TMP_Text statusText; public TMP_Text statusText;
public TMP_Text balanceText; public TMP_Text balanceText;
@@ -18,10 +18,75 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
public GameObject sample; public GameObject sample;
private string statusMessage; private string statusMessage;
private Coroutine statusRoutine; private Coroutine statusRoutine;
public Button refreshButton;
public Button optionsButton;
public GameObject optionsPanel;
public Button optionsPanelSubmitButton;
public TMP_Dropdown optionsPanelSortByDropdown;
public Toggle optionsPanelPriceRangeToggle;
public TMP_InputField optionsPanelPriceRangeMinInput;
public TMP_InputField optionsPanelPriceRangeMaxInput;
public Toggle optionsPanelSearchForToggle;
public TMP_InputField optionsPanelSearchForInputField;
public bool priceRangeEnabled = false;
public string priceRangeMin = "10";
public string priceRangeMax = "250";
public bool searchForEnabled = false;
public string searchForValue = "";
public bool anyChanges = false;
void Awake() void Awake()
{ {
backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0)); backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0));
refreshButton.onClick.AddListener(GetIcons);
optionsButton.onClick.AddListener(() => optionsPanel.SetActive(true));
optionsPanelSubmitButton.onClick.AddListener(() =>
{
optionsPanel.SetActive(false);
if (anyChanges)
{
anyChanges = false;
GetIcons();
}
});
optionsPanelPriceRangeToggle.onValueChanged.AddListener((on) =>
{
anyChanges = true;
if (!on)
{
optionsPanelPriceRangeMinInput.text = "10";
optionsPanelPriceRangeMaxInput.text = "250";
}
optionsPanelPriceRangeMinInput.interactable = on;
optionsPanelPriceRangeMaxInput.interactable = on;
});
optionsPanelSearchForToggle.onValueChanged.AddListener((on) =>
{
anyChanges = true;
optionsPanelSearchForInputField.text = "";
optionsPanelSearchForInputField.interactable = on;
});
optionsPanelSortByDropdown.onValueChanged.AddListener((_) => anyChanges = true);
optionsPanelPriceRangeMinInput.onValueChanged.AddListener((value) =>
{
anyChanges = true;
priceRangeMin = value;
});
optionsPanelPriceRangeMaxInput.onValueChanged.AddListener((value) =>
{
anyChanges = true;
priceRangeMax = value;
});
optionsPanelSearchForInputField.onValueChanged.AddListener((value) =>
{
anyChanges = true;
searchForValue = value;
});
} }
internal void Load() internal void Load()
@@ -32,6 +97,8 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
async void GetIcons() async void GetIcons()
{ {
refreshButton.interactable = false;
optionsButton.interactable = false;
backButton.interactable = false; backButton.interactable = false;
foreach (Transform item in content.transform) foreach (Transform item in content.transform)
{ {
@@ -41,13 +108,22 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
} }
} }
ShowStatus("Loading..."); ShowStatus("Loading...");
using UnityWebRequest request = UnityWebRequest.Get(SensitiveInfo.SERVER_DATABASE_PREFIX + "getMarketplaceIcons.php"); EncryptedWWWForm dataForm = new();
dataForm.AddField("sortBy", optionsPanelSortByDropdown.value.ToString());
dataForm.AddField("priceRangeEnabled", priceRangeEnabled.ToString());
dataForm.AddField("priceRangeMin", priceRangeMin);
dataForm.AddField("priceRangeMax", priceRangeMax);
dataForm.AddField("searchForEnabled", searchForEnabled.ToString());
dataForm.AddField("searchForValue", searchForValue);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "getMarketplaceIcons.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)
{ {
refreshButton.interactable = true;
optionsButton.interactable = true;
backButton.interactable = true; backButton.interactable = true;
ShowStatus("Failed to make HTTP request"); ShowStatus("Failed to make HTTP request");
return; return;
@@ -55,27 +131,19 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
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")
{ {
backButton.interactable = true;
ShowStatus("Server error while fetching data"); ShowStatus("Server error while fetching data");
return;
} }
else if (response == "-998") else if (response == "-998")
{ {
backButton.interactable = true;
ShowStatus("Client version too outdated to access servers"); ShowStatus("Client version too outdated to access servers");
return;
} }
else if (response == "-997") else if (response == "-997")
{ {
backButton.interactable = true;
ShowStatus("Encryption/decryption issues"); ShowStatus("Encryption/decryption issues");
return;
} }
else if (response == "-996") else if (response == "-996")
{ {
backButton.interactable = true;
ShowStatus("Can't send requests on self-built instance"); ShowStatus("Can't send requests on self-built instance");
return;
} }
else else
{ {
@@ -124,6 +192,8 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
newIcon.SetActive(true); newIcon.SetActive(true);
} }
} }
refreshButton.interactable = true;
optionsButton.interactable = true;
backButton.interactable = true; backButton.interactable = true;
} }

View File

@@ -141,7 +141,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0 loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0 visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0 tvOSBundleVersion: 1.0
bundleVersion: 1.6.2 bundleVersion: 1.6.3
preloadedAssets: preloadedAssets:
- {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3} - {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
metroInputSource: 0 metroInputSource: 0

View File

@@ -1,6 +1,6 @@
# Berry Dash # Berry Dash
Berry dash is a simple Strategy/Casual game where you catch berries to get a high sccore, with leaderboards, chatroom, customizable icons, community icons and more! Berry dash is a simple Strategy/Casual game where you catch berries to get a high score, with leaderboards, chatroom, customizable icons, icon marketplace (in game currency, no real life purchases are in this game) and more!
The server source code can be found [here](https://github.com/BerryDash/server) along with guides on how to make a berry dash private server. The server source code can be found [here](https://github.com/BerryDash/server) along with guides on how to make a berry dash private server.