diff --git a/Assets/Scripts/AccountMenu/AccountChangePassword.cs b/Assets/Scripts/AccountMenu/AccountChangePassword.cs index 1696d98..4f531e0 100644 --- a/Assets/Scripts/AccountMenu/AccountChangePassword.cs +++ b/Assets/Scripts/AccountMenu/AccountChangePassword.cs @@ -29,8 +29,10 @@ public class AccountChangePassword : MonoBehaviour async void ChangePassword() { + changePasswordBackButton.interactable = false; if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text) { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red); return; } @@ -46,27 +48,32 @@ public class AccountChangePassword : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + changePasswordBackButton.interactable = true; Tools.UpdateStatusText(changePasswordStatusText, "Can't send requests on self-built instance", Color.red); return; } @@ -84,5 +91,6 @@ public class AccountChangePassword : MonoBehaviour Tools.UpdateStatusText(changePasswordStatusText, (string)jsonResponse["message"], Color.red); } } + changePasswordBackButton.interactable = true; } } \ No newline at end of file diff --git a/Assets/Scripts/AccountMenu/AccountChangeUsername.cs b/Assets/Scripts/AccountMenu/AccountChangeUsername.cs index 700f4cd..b27b1a7 100644 --- a/Assets/Scripts/AccountMenu/AccountChangeUsername.cs +++ b/Assets/Scripts/AccountMenu/AccountChangeUsername.cs @@ -27,6 +27,7 @@ public class AccountChangeUsername : MonoBehaviour async void ChangeUsername() { + changeUsernameBackButton.interactable = false; EncryptedWWWForm dataForm = new(); dataForm.AddField("oldusername", changeUsernameCurrentUsernameInput.text); dataForm.AddField("newusername", changeUsernameNewUsernameInput.text); @@ -39,27 +40,32 @@ public class AccountChangeUsername : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + changeUsernameBackButton.interactable = true; Tools.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + changeUsernameBackButton.interactable = true; Tools.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + changeUsernameBackButton.interactable = true; Tools.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + changeUsernameBackButton.interactable = true; Tools.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + changeUsernameBackButton.interactable = true; Tools.UpdateStatusText(changeUsernameStatusText, "Can't send requests on self-built instance", Color.red); return; } @@ -77,5 +83,6 @@ public class AccountChangeUsername : MonoBehaviour Tools.UpdateStatusText(changeUsernameStatusText, (string)jsonResponse["message"], Color.red); } } + changeUsernameBackButton.interactable = true; } } \ No newline at end of file diff --git a/Assets/Scripts/AccountMenu/AccountLoggedIn.cs b/Assets/Scripts/AccountMenu/AccountLoggedIn.cs index 9dd35f9..7e16862 100644 --- a/Assets/Scripts/AccountMenu/AccountLoggedIn.cs +++ b/Assets/Scripts/AccountMenu/AccountLoggedIn.cs @@ -2,7 +2,6 @@ using System.Numerics; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TMPro; -using Unity.VisualScripting; using UnityEngine; using UnityEngine.Networking; using UnityEngine.SceneManagement; @@ -46,6 +45,7 @@ public class AccountLoggedIn : MonoBehaviour { loggedInLoadButton.interactable = false; loggedInSaveButton.interactable = false; + loggedInBackButton.interactable = false; EncryptedWWWForm dataForm = new(); dataForm.AddField("username", BazookaManager.Instance.GetAccountName()); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); @@ -67,27 +67,42 @@ public class AccountLoggedIn : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + loggedInLoadButton.interactable = true; + loggedInSaveButton.interactable = true; + loggedInBackButton.interactable = true; Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + loggedInLoadButton.interactable = true; + loggedInSaveButton.interactable = true; + loggedInBackButton.interactable = true; Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); return; } 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); return; } else if (response == "-997") { + loggedInLoadButton.interactable = true; + loggedInSaveButton.interactable = true; + loggedInBackButton.interactable = true; Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); return; } 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); return; } @@ -105,6 +120,7 @@ public class AccountLoggedIn : MonoBehaviour } loggedInLoadButton.interactable = true; loggedInSaveButton.interactable = true; + loggedInBackButton.interactable = true; } async void LoadAccount() diff --git a/Assets/Scripts/AccountMenu/AccountLogin.cs b/Assets/Scripts/AccountMenu/AccountLogin.cs index 19d431f..acd498e 100644 --- a/Assets/Scripts/AccountMenu/AccountLogin.cs +++ b/Assets/Scripts/AccountMenu/AccountLogin.cs @@ -1,5 +1,4 @@ using System.Numerics; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TMPro; using UnityEngine; @@ -29,6 +28,7 @@ public class AccountLogin : MonoBehaviour async void SubmitLogin() { + loginBackButton.interactable = false; if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty) { Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red); @@ -46,27 +46,32 @@ public class AccountLogin : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + loginBackButton.interactable = true; Tools.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + loginBackButton.interactable = true; Tools.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + loginBackButton.interactable = true; Tools.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + loginBackButton.interactable = true; Tools.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + loginBackButton.interactable = true; Tools.UpdateStatusText(loginPanelStatusText, "Can't send requests on self-built instance", Color.red); return; } @@ -97,5 +102,6 @@ public class AccountLogin : MonoBehaviour Tools.UpdateStatusText(loginPanelStatusText, (string)jsonResponse["message"], Color.red); } } + loginBackButton.interactable = true; } } \ No newline at end of file diff --git a/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs b/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs index c9e8306..4c9bf59 100644 --- a/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs +++ b/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs @@ -27,6 +27,7 @@ public class AccountRefreshLogin : MonoBehaviour async void RefreshLogin() { + refreshLoginBackButton.interactable = false; EncryptedWWWForm dataForm = new(); dataForm.AddField("username", refreshLoginUsernameInput.text); dataForm.AddField("password", refreshLoginPasswordInput.text); @@ -38,27 +39,32 @@ public class AccountRefreshLogin : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + refreshLoginBackButton.interactable = true; Tools.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + refreshLoginBackButton.interactable = true; Tools.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + refreshLoginBackButton.interactable = true; Tools.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + refreshLoginBackButton.interactable = true; Tools.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + refreshLoginBackButton.interactable = true; Tools.UpdateStatusText(refreshLoginStatusText, "Can't send requests on self-built instance", Color.red); return; } @@ -78,5 +84,6 @@ public class AccountRefreshLogin : MonoBehaviour Tools.UpdateStatusText(refreshLoginStatusText, (string)jsonResponse["message"], Color.red); } } + refreshLoginBackButton.interactable = true; } } \ No newline at end of file diff --git a/Assets/Scripts/AccountMenu/AccountRegister.cs b/Assets/Scripts/AccountMenu/AccountRegister.cs index 8003d19..ec9bac7 100644 --- a/Assets/Scripts/AccountMenu/AccountRegister.cs +++ b/Assets/Scripts/AccountMenu/AccountRegister.cs @@ -33,6 +33,7 @@ public class AccountRegister : MonoBehaviour async void SubmitRegister() { + registerBackButton.interactable = false; if ( registerUsernameInput.text == string.Empty || registerEmailInput.text == string.Empty || @@ -41,16 +42,19 @@ public class AccountRegister : MonoBehaviour registerRetypePasswordInput.text == string.Empty ) { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "All input fields must be filled", Color.red); return; } if (registerEmailInput.text != registerRetypeEmailInput.text) { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Emails don't match", Color.red); return; } if (registerPasswordInput.text != registerRetypePasswordInput.text) { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red); return; } @@ -65,27 +69,32 @@ public class AccountRegister : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + registerBackButton.interactable = true; Tools.UpdateStatusText(registerPanelStatusText, "Can't send requests on self-built instance", Color.red); return; } @@ -101,5 +110,6 @@ public class AccountRegister : MonoBehaviour Tools.UpdateStatusText(registerPanelStatusText, (string)jsonResponse["message"], Color.red); } } + registerBackButton.interactable = true; } } \ No newline at end of file diff --git a/Assets/Scripts/ChatroomMenu.cs b/Assets/Scripts/ChatroomMenu.cs index 5c6b798..934edbc 100644 --- a/Assets/Scripts/ChatroomMenu.cs +++ b/Assets/Scripts/ChatroomMenu.cs @@ -50,6 +50,7 @@ public class ChatroomMenu : MonoBehaviour async Task HandleMessageSubmit() { if (!sendButton.interactable) return; + backButton.interactable = false; var text = messageInputField.text.Clone() as string; messageInputField.text = string.Empty; if (string.IsNullOrEmpty(text)) @@ -68,26 +69,31 @@ public class ChatroomMenu : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + backButton.interactable = true; return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + backButton.interactable = true; ShowStatus("Server error while fetching data"); return; } else if (response == "-998") { + backButton.interactable = true; ShowStatus("Client version too outdated to access servers"); return; } else if (response == "-997") { + backButton.interactable = true; ShowStatus("Encryption/decryption issues"); return; } else if (response == "-996") { + backButton.interactable = true; ShowStatus("Can't send requests on self-built instance"); return; } @@ -105,6 +111,7 @@ public class ChatroomMenu : MonoBehaviour ShowStatus((string)jsonResponse["message"]); } } + backButton.interactable = true; } void ShowStatus(string content) diff --git a/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs b/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs index c4c0da7..64230f5 100644 --- a/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs +++ b/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs @@ -46,27 +46,32 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + backButton.interactable = true; ShowStatus("Failed to make HTTP request"); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + backButton.interactable = true; ShowStatus("Server error while fetching data"); return; } else if (response == "-998") { + backButton.interactable = true; ShowStatus("Client version too outdated to access servers"); return; } else if (response == "-997") { + backButton.interactable = true; ShowStatus("Encryption/decryption issues"); return; } else if (response == "-996") { + backButton.interactable = true; ShowStatus("Can't send requests on self-built instance"); return; } diff --git a/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs b/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs index aecf43c..74ba8a7 100644 --- a/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs +++ b/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs @@ -96,27 +96,42 @@ public class IconMarketplaceUploadIcon : MonoBehaviour await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { + uploadButton.interactable = true; + backButton.interactable = true; + selectButton.interactable = true; Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red); return; } string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); if (response == "-999") { + uploadButton.interactable = true; + backButton.interactable = true; + selectButton.interactable = true; Tools.UpdateStatusText(statusText, "Server error while fetching data", Color.red); return; } else if (response == "-998") { + uploadButton.interactable = true; + backButton.interactable = true; + selectButton.interactable = true; Tools.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red); return; } else if (response == "-997") { + uploadButton.interactable = true; + backButton.interactable = true; + selectButton.interactable = true; Tools.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red); return; } else if (response == "-996") { + uploadButton.interactable = true; + backButton.interactable = true; + selectButton.interactable = true; Tools.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red); return; }