Make accounts menu into a popup
This commit is contained in:
14 files changed
+14586
-17501
No files matched your search
@@ -8,21 +8,20 @@ public class AccountChangePassword : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text changePasswordStatusText;
|
||||
[SerializeField] private TMP_InputField changePasswordNewPasswordInput;
|
||||
[SerializeField] private TMP_InputField changePasswordRetypeNewPasswordInput;
|
||||
[SerializeField] private Button changePasswordBackButton;
|
||||
[SerializeField] private Button changePasswordSubmitButton;
|
||||
|
||||
void Awake() {
|
||||
changePasswordNewPasswordInput.onSelect.AddListener((_) => changePasswordNewPasswordInput.caretPosition = changePasswordNewPasswordInput.text.Length);
|
||||
changePasswordRetypeNewPasswordInput.onSelect.AddListener((_) => changePasswordRetypeNewPasswordInput.caretPosition = changePasswordRetypeNewPasswordInput.text.Length);
|
||||
|
||||
changePasswordBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
changePasswordSubmitButton.onClick.AddListener(() => ChangePassword());
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
changePasswordNewPasswordInput.text = "";
|
||||
changePasswordRetypeNewPasswordInput.text = "";
|
||||
changePasswordStatusText.text = "";
|
||||
changePasswordSubmitButton.onClick.RemoveAllListeners();
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
changePasswordSubmitButton.onClick.AddListener(() => ChangePassword());
|
||||
}
|
||||
|
||||
async void ChangePassword() {
|
||||
@@ -30,7 +29,7 @@ public class AccountChangePassword : MonoBehaviour {
|
||||
Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red);
|
||||
return;
|
||||
}
|
||||
changePasswordBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
changePasswordSubmitButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("newPassword", changePasswordNewPasswordInput.text);
|
||||
@@ -41,7 +40,7 @@ public class AccountChangePassword : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
changePasswordBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
changePasswordSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -54,7 +53,7 @@ public class AccountChangePassword : MonoBehaviour {
|
||||
} else {
|
||||
Tools.UpdateStatusText(changePasswordStatusText, (string)jsonResponse["message"], Color.red);
|
||||
}
|
||||
changePasswordBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
changePasswordSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -7,23 +7,22 @@ using UnityEngine.UI;
|
||||
public class AccountChangeUsername : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text changeUsernameStatusText;
|
||||
[SerializeField] private TMP_InputField changeUsernameNewUsernameInput;
|
||||
[SerializeField] private Button changeUsernameBackButton;
|
||||
[SerializeField] private Button changeUsernameSubmitButton;
|
||||
|
||||
void Awake() {
|
||||
changeUsernameNewUsernameInput.onSelect.AddListener((_) => changeUsernameNewUsernameInput.caretPosition = changeUsernameNewUsernameInput.text.Length);
|
||||
|
||||
changeUsernameBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
changeUsernameSubmitButton.onClick.AddListener(() => ChangeUsername());
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
changeUsernameNewUsernameInput.text = "";
|
||||
changeUsernameStatusText.text = "";
|
||||
changeUsernameSubmitButton.onClick.RemoveAllListeners();
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
changeUsernameSubmitButton.onClick.AddListener(() => ChangeUsername());
|
||||
}
|
||||
|
||||
async void ChangeUsername() {
|
||||
changeUsernameBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
changeUsernameSubmitButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("newUsername", changeUsernameNewUsernameInput.text);
|
||||
@@ -34,7 +33,7 @@ public class AccountChangeUsername : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
changeUsernameBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
changeUsernameSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -48,7 +47,7 @@ public class AccountChangeUsername : MonoBehaviour {
|
||||
} else {
|
||||
Tools.UpdateStatusText(changeUsernameStatusText, (string)jsonResponse["message"], Color.red);
|
||||
}
|
||||
changeUsernameBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
changeUsernameSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -9,16 +9,19 @@ public class AccountForgotDetails : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text forgotDetailsStatusText;
|
||||
[SerializeField] private TMP_InputField forgotDetailsEmailInput;
|
||||
[SerializeField] private TMP_InputField forgotDetailsVerifyCodeInput;
|
||||
[SerializeField] internal Button forgotDetailsBackButton;
|
||||
[SerializeField] internal Button forgotDetailsSubmitButton;
|
||||
internal int mode = 0;
|
||||
|
||||
void Awake() {
|
||||
forgotDetailsEmailInput.onSelect.AddListener((_) => forgotDetailsEmailInput.caretPosition = forgotDetailsEmailInput.text.Length);
|
||||
forgotDetailsVerifyCodeInput.onSelect.AddListener((_) => forgotDetailsVerifyCodeInput.caretPosition = forgotDetailsVerifyCodeInput.text.Length);
|
||||
}
|
||||
|
||||
forgotDetailsBackButton.onClick.AddListener(() => {
|
||||
forgotDetailsBackButton.interactable = false;
|
||||
void OnEnable() {
|
||||
forgotDetailsEmailInput.text = "";
|
||||
forgotDetailsVerifyCodeInput.text = "";
|
||||
forgotDetailsSubmitButton.onClick.RemoveAllListeners();
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => {
|
||||
forgotDetailsSubmitButton.interactable = false;
|
||||
mode = 0;
|
||||
forgotDetailsTitleText.text = "";
|
||||
@@ -28,13 +31,8 @@ public class AccountForgotDetails : MonoBehaviour {
|
||||
forgotDetailsSubmitButton.onClick.AddListener(() => ForgotDetails());
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
forgotDetailsEmailInput.text = "";
|
||||
forgotDetailsVerifyCodeInput.text = "";
|
||||
}
|
||||
|
||||
async void ForgotDetails() {
|
||||
forgotDetailsBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
forgotDetailsSubmitButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("email", forgotDetailsEmailInput.text);
|
||||
@@ -46,7 +44,7 @@ public class AccountForgotDetails : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
forgotDetailsBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
forgotDetailsSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(forgotDetailsStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -54,7 +52,7 @@ public class AccountForgotDetails : MonoBehaviour {
|
||||
var jsonResponse = JObject.Parse(request.downloadHandler.text);
|
||||
if ((bool)jsonResponse["success"]) Tools.UpdateStatusText(forgotDetailsStatusText, "An email has been sent to your inbox", Color.green);
|
||||
else Tools.UpdateStatusText(forgotDetailsStatusText, (string)jsonResponse["message"], Color.red);
|
||||
forgotDetailsBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
forgotDetailsSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class AccountHandler : MonoBehaviour {
|
||||
public static AccountHandler instance;
|
||||
public AccountLoggedIn accountLoggedIn;
|
||||
[SerializeField] private Button exitButton;
|
||||
[SerializeField] internal Button backButton;
|
||||
[SerializeField] private AccountLoggedOut accountLoggedOut;
|
||||
[SerializeField] private AccountLogin accountLogin;
|
||||
[SerializeField] private AccountRegister accountRegister;
|
||||
@@ -15,6 +17,7 @@ public class AccountHandler : MonoBehaviour {
|
||||
|
||||
void Awake() {
|
||||
instance = this;
|
||||
exitButton.onClick.AddListener(() => Destroy(gameObject));
|
||||
}
|
||||
|
||||
void Start() {
|
||||
@@ -28,7 +31,9 @@ public class AccountHandler : MonoBehaviour {
|
||||
public void SwitchPanel(int panel) {
|
||||
switch (panel) {
|
||||
case 0:
|
||||
accountLoggedIn.gameObject.SetActive(true);
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(true);
|
||||
backButton.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
@@ -36,68 +41,90 @@ public class AccountHandler : MonoBehaviour {
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountLoggedIn.gameObject.SetActive(true);
|
||||
break;
|
||||
case 1:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(true);
|
||||
backButton.gameObject.SetActive(false);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(true);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(true);
|
||||
break;
|
||||
case 2:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(true);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(true);
|
||||
break;
|
||||
case 3:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(true);
|
||||
accountChangeUsername.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(true);
|
||||
break;
|
||||
case 4:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(true);
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(true);
|
||||
break;
|
||||
case 5:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(true);
|
||||
accountRefreshLogin.gameObject.SetActive(false);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(true);
|
||||
break;
|
||||
case 6:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
accountRegister.gameObject.SetActive(false);
|
||||
accountChangeUsername.gameObject.SetActive(false);
|
||||
accountChangePassword.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(true);
|
||||
accountForgotDetails.gameObject.SetActive(false);
|
||||
accountRefreshLogin.gameObject.SetActive(true);
|
||||
break;
|
||||
case 7:
|
||||
backButton.onClick.RemoveAllListeners();
|
||||
exitButton.gameObject.SetActive(false);
|
||||
backButton.gameObject.SetActive(true);
|
||||
accountLoggedIn.gameObject.SetActive(false);
|
||||
accountLoggedOut.gameObject.SetActive(false);
|
||||
accountLogin.gameObject.SetActive(false);
|
||||
@@ -111,12 +138,10 @@ public class AccountHandler : MonoBehaviour {
|
||||
foreach (CustomColorObject customColorObject in FindObjectsByType<CustomColorObject>(FindObjectsSortMode.None)) customColorObject.SetColor();
|
||||
}
|
||||
|
||||
async void Update() {
|
||||
void Update() {
|
||||
if (Keyboard.current.escapeKey.wasPressedThisFrame) {
|
||||
if (accountChangePassword.gameObject.activeSelf || accountChangeUsername.gameObject.activeSelf || accountRefreshLogin.gameObject.activeSelf) SwitchPanel(0);
|
||||
else if (accountLogin.gameObject.activeSelf || accountRegister.gameObject.activeSelf) SwitchPanel(1);
|
||||
else if (accountForgotDetails.gameObject.activeSelf) accountForgotDetails.forgotDetailsBackButton.onClick.Invoke();
|
||||
else await SceneManager.LoadSceneAsync("MainMenu");
|
||||
if (exitButton.gameObject.activeSelf && exitButton.interactable) exitButton.onClick.Invoke();
|
||||
else if (backButton.gameObject.activeSelf && backButton.interactable) backButton.onClick.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,9 +16,18 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
[SerializeField] private Button loggedInLoadButton;
|
||||
[SerializeField] private Button loggedInRefreshLoginButton;
|
||||
[SerializeField] private Button loggedInLogoutButton;
|
||||
[SerializeField] private Button loggedInBackButton;
|
||||
|
||||
void Awake() {
|
||||
void OnEnable() {
|
||||
loggedInSaveButton.interactable = true;
|
||||
loggedInLoadButton.interactable = true;
|
||||
var textColor = BazookaManager.Instance.GetColorSettingText();
|
||||
Tools.UpdateStatusText(loggedInText, "Logged in as: " + BazookaManager.Instance.GetAccountName(), new Color(int.Parse(textColor[0].ToString()) / 255f, int.Parse(textColor[1].ToString()) / 255f, int.Parse(textColor[2].ToString()) / 255f));
|
||||
loggedInChangeUsernameButton.onClick.RemoveAllListeners();
|
||||
loggedInChangePasswordButton.onClick.RemoveAllListeners();
|
||||
loggedInSaveButton.onClick.RemoveAllListeners();
|
||||
loggedInLoadButton.onClick.RemoveAllListeners();
|
||||
loggedInRefreshLoginButton.onClick.RemoveAllListeners();
|
||||
loggedInLogoutButton.onClick.RemoveAllListeners();
|
||||
loggedInChangeUsernameButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(4));
|
||||
loggedInChangePasswordButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(5));
|
||||
loggedInSaveButton.onClick.AddListener(() => SaveAccount());
|
||||
@@ -30,13 +39,6 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
});
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
loggedInSaveButton.interactable = true;
|
||||
loggedInLoadButton.interactable = true;
|
||||
var textColor = BazookaManager.Instance.GetColorSettingText();
|
||||
Tools.UpdateStatusText(loggedInText, "Logged in as: " + BazookaManager.Instance.GetAccountName(), new Color(int.Parse(textColor[0].ToString()) / 255f, int.Parse(textColor[1].ToString()) / 255f, int.Parse(textColor[2].ToString()) / 255f));
|
||||
}
|
||||
|
||||
async void SaveAccount() {
|
||||
loggedInChangeUsernameButton.interactable = false;
|
||||
loggedInChangePasswordButton.interactable = false;
|
||||
@@ -44,7 +46,7 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = false;
|
||||
loggedInRefreshLoginButton.interactable = false;
|
||||
loggedInLogoutButton.interactable = false;
|
||||
loggedInBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("saveData", Convert.ToBase64String(Encoding.UTF8.GetBytes(BazookaManager.Instance.saveFile.ToString(Formatting.None))));
|
||||
using UnityWebRequest request = UnityWebRequest.Post(Endpoints.ACCOUNT_SAVE_ENDPOINT, dataForm);
|
||||
@@ -60,7 +62,7 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = true;
|
||||
loggedInRefreshLoginButton.interactable = true;
|
||||
loggedInLogoutButton.interactable = true;
|
||||
loggedInBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
}
|
||||
@@ -72,7 +74,7 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = true;
|
||||
loggedInRefreshLoginButton.interactable = true;
|
||||
loggedInLogoutButton.interactable = true;
|
||||
loggedInBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
}
|
||||
|
||||
async void LoadAccount() {
|
||||
@@ -82,7 +84,7 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = false;
|
||||
loggedInRefreshLoginButton.interactable = false;
|
||||
loggedInLogoutButton.interactable = false;
|
||||
loggedInBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.ACCOUNT_SAVE_ENDPOINT);
|
||||
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
@@ -96,7 +98,7 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = true;
|
||||
loggedInRefreshLoginButton.interactable = true;
|
||||
loggedInLogoutButton.interactable = true;
|
||||
loggedInBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
}
|
||||
@@ -122,6 +124,6 @@ public class AccountLoggedIn : MonoBehaviour {
|
||||
loggedInLoadButton.interactable = true;
|
||||
loggedInRefreshLoginButton.interactable = true;
|
||||
loggedInLogoutButton.interactable = true;
|
||||
loggedInBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,9 @@ public class AccountLoggedOut : MonoBehaviour {
|
||||
[SerializeField] private Button loggedOutLoginButton;
|
||||
[SerializeField] private Button loggedOutRegisterButton;
|
||||
|
||||
void Awake() {
|
||||
void OnEnable() {
|
||||
loggedOutLoginButton.onClick.RemoveAllListeners();
|
||||
loggedOutRegisterButton.onClick.RemoveAllListeners();
|
||||
loggedOutLoginButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(2));
|
||||
loggedOutRegisterButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(3));
|
||||
}
|
||||
|
||||
@@ -11,39 +11,40 @@ public class AccountLogin : MonoBehaviour {
|
||||
[SerializeField] private TMP_InputField loginPasswordInput;
|
||||
[SerializeField] private Button forgotUsernameButton;
|
||||
[SerializeField] private Button forgotPasswordButton;
|
||||
[SerializeField] private Button loginBackButton;
|
||||
[SerializeField] private Button loginSubmitButton;
|
||||
|
||||
void Awake() {
|
||||
loginUsernameInput.onSelect.AddListener((_) => loginUsernameInput.caretPosition = loginUsernameInput.text.Length);
|
||||
loginPasswordInput.onSelect.AddListener((_) => loginPasswordInput.caretPosition = loginPasswordInput.text.Length);
|
||||
|
||||
loginBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
|
||||
loginSubmitButton.onClick.AddListener(() => SubmitLogin());
|
||||
forgotUsernameButton.onClick.AddListener(() => {
|
||||
AccountHandler.instance.SwitchPanel(7);
|
||||
AccountHandler.instance.accountForgotDetails.mode = 0;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsTitleText.text = "Forgot username";
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsBackButton.interactable = true;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsSubmitButton.interactable = true;
|
||||
});
|
||||
forgotPasswordButton.onClick.AddListener(() => {
|
||||
AccountHandler.instance.SwitchPanel(7);
|
||||
AccountHandler.instance.accountForgotDetails.mode = 1;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsTitleText.text = "Forgot password";
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsBackButton.interactable = true;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsSubmitButton.interactable = true;
|
||||
});
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
loginUsernameInput.text = "";
|
||||
loginPasswordInput.text = "";
|
||||
loginPanelStatusText.text = "";
|
||||
loginSubmitButton.onClick.RemoveAllListeners();
|
||||
forgotUsernameButton.onClick.RemoveAllListeners();
|
||||
forgotPasswordButton.onClick.RemoveAllListeners();
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
|
||||
loginSubmitButton.onClick.AddListener(() => SubmitLogin());
|
||||
forgotUsernameButton.onClick.AddListener(() => {
|
||||
AccountHandler.instance.SwitchPanel(7);
|
||||
AccountHandler.instance.accountForgotDetails.mode = 0;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsTitleText.text = "Forgot username";
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsSubmitButton.interactable = true;
|
||||
});
|
||||
forgotPasswordButton.onClick.AddListener(() => {
|
||||
AccountHandler.instance.SwitchPanel(7);
|
||||
AccountHandler.instance.accountForgotDetails.mode = 1;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsTitleText.text = "Forgot password";
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
AccountHandler.instance.accountForgotDetails.forgotDetailsSubmitButton.interactable = true;
|
||||
});
|
||||
}
|
||||
|
||||
async void SubmitLogin() {
|
||||
loginBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
loginSubmitButton.interactable = false;
|
||||
if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty) {
|
||||
Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red);
|
||||
@@ -58,7 +59,7 @@ public class AccountLogin : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
loginBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
loginSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -73,7 +74,7 @@ public class AccountLogin : MonoBehaviour {
|
||||
} else {
|
||||
Tools.UpdateStatusText(loginPanelStatusText, (string)jsonResponse["message"], Color.red);
|
||||
}
|
||||
loginBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
loginSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -9,24 +9,23 @@ public class AccountRefreshLogin : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text refreshLoginStatusText;
|
||||
[SerializeField] private TMP_InputField refreshLoginUsernameInput;
|
||||
[SerializeField] private TMP_InputField refreshLoginPasswordInput;
|
||||
[SerializeField] private Button refreshLoginBackButton;
|
||||
[SerializeField] private Button refreshLoginSubmitButton;
|
||||
|
||||
void Awake() {
|
||||
refreshLoginUsernameInput.onSelect.AddListener((_) => refreshLoginUsernameInput.caretPosition = refreshLoginUsernameInput.text.Length);
|
||||
refreshLoginPasswordInput.onSelect.AddListener((_) => refreshLoginPasswordInput.caretPosition = refreshLoginPasswordInput.text.Length);
|
||||
|
||||
refreshLoginBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
refreshLoginSubmitButton.onClick.AddListener(() => RefreshLogin());
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
refreshLoginUsernameInput.text = "";
|
||||
refreshLoginPasswordInput.text = "";
|
||||
refreshLoginSubmitButton.onClick.RemoveAllListeners();
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
|
||||
refreshLoginSubmitButton.onClick.AddListener(() => RefreshLogin());
|
||||
}
|
||||
|
||||
async void RefreshLogin() {
|
||||
refreshLoginBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
refreshLoginSubmitButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("username", refreshLoginUsernameInput.text);
|
||||
@@ -37,7 +36,7 @@ public class AccountRefreshLogin : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
refreshLoginBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
refreshLoginSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -52,7 +51,7 @@ public class AccountRefreshLogin : MonoBehaviour {
|
||||
} else {
|
||||
Tools.UpdateStatusText(refreshLoginStatusText, (string)jsonResponse["message"], Color.red);
|
||||
}
|
||||
refreshLoginBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
refreshLoginSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -8,40 +8,34 @@ public class AccountRegister : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text registerPanelStatusText;
|
||||
[SerializeField] private TMP_InputField registerUsernameInput;
|
||||
[SerializeField] private TMP_InputField registerEmailInput;
|
||||
[SerializeField] private TMP_InputField registerRetypeEmailInput;
|
||||
[SerializeField] private TMP_InputField registerPasswordInput;
|
||||
[SerializeField] private TMP_InputField registerRetypePasswordInput;
|
||||
[SerializeField] private TMP_InputField registerVerifyCodeInput;
|
||||
[SerializeField] private Button registerBackButton;
|
||||
[SerializeField] private Button registerSubmitButton;
|
||||
|
||||
void Awake() {
|
||||
registerUsernameInput.onSelect.AddListener((_) => registerUsernameInput.caretPosition = registerUsernameInput.text.Length);
|
||||
registerEmailInput.onSelect.AddListener((_) => registerEmailInput.caretPosition = registerEmailInput.text.Length);
|
||||
registerRetypeEmailInput.onSelect.AddListener((_) => registerRetypeEmailInput.caretPosition = registerRetypeEmailInput.text.Length);
|
||||
registerPasswordInput.onSelect.AddListener((_) => registerPasswordInput.caretPosition = registerPasswordInput.text.Length);
|
||||
registerRetypePasswordInput.onSelect.AddListener((_) => registerRetypePasswordInput.caretPosition = registerRetypePasswordInput.text.Length);
|
||||
registerVerifyCodeInput.onSelect.AddListener((_) => registerVerifyCodeInput.caretPosition = registerVerifyCodeInput.text.Length);
|
||||
|
||||
registerBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
|
||||
registerSubmitButton.onClick.AddListener(() => SubmitRegister());
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
registerUsernameInput.text = "";
|
||||
registerEmailInput.text = "";
|
||||
registerRetypeEmailInput.text = "";
|
||||
registerPasswordInput.text = "";
|
||||
registerRetypePasswordInput.text = "";
|
||||
registerVerifyCodeInput.text = "";
|
||||
registerPanelStatusText.text = "";
|
||||
AccountHandler.instance.backButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
|
||||
registerSubmitButton.onClick.AddListener(() => SubmitRegister());
|
||||
}
|
||||
|
||||
async void SubmitRegister() {
|
||||
if (
|
||||
registerUsernameInput.text == string.Empty ||
|
||||
registerEmailInput.text == string.Empty ||
|
||||
registerRetypeEmailInput.text == string.Empty ||
|
||||
registerPasswordInput.text == string.Empty ||
|
||||
registerRetypePasswordInput.text == string.Empty ||
|
||||
registerVerifyCodeInput.text == string.Empty
|
||||
@@ -49,15 +43,11 @@ public class AccountRegister : MonoBehaviour {
|
||||
Tools.UpdateStatusText(registerPanelStatusText, "All input fields must be filled", Color.red);
|
||||
return;
|
||||
}
|
||||
if (registerEmailInput.text != registerRetypeEmailInput.text) {
|
||||
Tools.UpdateStatusText(registerPanelStatusText, "Emails don't match", Color.red);
|
||||
return;
|
||||
}
|
||||
if (registerPasswordInput.text != registerRetypePasswordInput.text) {
|
||||
Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red);
|
||||
return;
|
||||
}
|
||||
registerBackButton.interactable = false;
|
||||
AccountHandler.instance.backButton.interactable = false;
|
||||
registerSubmitButton.interactable = false;
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("username", registerUsernameInput.text);
|
||||
@@ -71,7 +61,7 @@ public class AccountRegister : MonoBehaviour {
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.downloadHandler.text == null) {
|
||||
registerBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
registerSubmitButton.interactable = true;
|
||||
Tools.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red);
|
||||
return;
|
||||
@@ -82,7 +72,7 @@ public class AccountRegister : MonoBehaviour {
|
||||
} else {
|
||||
Tools.UpdateStatusText(registerPanelStatusText, (string)jsonResponse["message"], Color.red);
|
||||
}
|
||||
registerBackButton.interactable = true;
|
||||
AccountHandler.instance.backButton.interactable = true;
|
||||
registerSubmitButton.interactable = true;
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ public class MainMenu : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text splashText;
|
||||
[SerializeField] private Button profileButton;
|
||||
[SerializeField] private ProfileMenu profilePrefab;
|
||||
[SerializeField] private AccountHandler accountsPrefab;
|
||||
[SerializeField] private SettingsMenu settingsPrefab;
|
||||
[SerializeField] private TMP_Text copyrightText;
|
||||
[SerializeField] private GameObject closePopup;
|
||||
@@ -19,6 +20,7 @@ public class MainMenu : MonoBehaviour {
|
||||
[SerializeField] private Button closePopupCloseButton;
|
||||
[SerializeField] private Button iconMarketplaceButton;
|
||||
[SerializeField] private TMP_Text iconMarketplaceButtonText;
|
||||
[SerializeField] private Button accountsButton;
|
||||
[SerializeField] private Button settingsButton;
|
||||
|
||||
void Awake() {
|
||||
@@ -48,6 +50,7 @@ public class MainMenu : MonoBehaviour {
|
||||
profileButton.transform.GetChild(0).GetComponent<TMP_Text>().text = BazookaManager.Instance.GetAccountName();
|
||||
profileButton.onClick.AddListener(async () => {
|
||||
var clone = Instantiate(profilePrefab.gameObject, profilePrefab.gameObject.transform.parent);
|
||||
clone.name = "Prefab";
|
||||
clone.SetActive(true);
|
||||
await clone.GetComponent<ProfileMenu>().Init();
|
||||
});
|
||||
@@ -62,7 +65,16 @@ public class MainMenu : MonoBehaviour {
|
||||
}
|
||||
profileButton.gameObject.SetActive(true);
|
||||
}
|
||||
settingsButton.onClick.AddListener(() => Instantiate(settingsPrefab.gameObject, settingsPrefab.gameObject.transform.parent).SetActive(true));
|
||||
accountsButton.onClick.AddListener(() => {
|
||||
var clone = Instantiate(accountsPrefab.gameObject, accountsPrefab.gameObject.transform.parent);
|
||||
clone.name = "Prefab";
|
||||
clone.SetActive(true);
|
||||
});
|
||||
settingsButton.onClick.AddListener(() => {
|
||||
var clone = Instantiate(settingsPrefab.gameObject, settingsPrefab.gameObject.transform.parent);
|
||||
clone.name = "Prefab";
|
||||
clone.SetActive(true);
|
||||
});
|
||||
|
||||
if (Tools.GetLevelInfo().level < 3) {
|
||||
iconMarketplaceButton.interactable = false;
|
||||
@@ -71,7 +83,7 @@ public class MainMenu : MonoBehaviour {
|
||||
}
|
||||
|
||||
void Update() {
|
||||
if (Keyboard.current.escapeKey.wasPressedThisFrame && !GameObject.Find("ProfilePrefab(Clone)") && !GameObject.Find("SettingsPrefab(Clone)")) closePopup.SetActive(!closePopup.activeSelf);
|
||||
if (Keyboard.current.escapeKey.wasPressedThisFrame && !GameObject.Find("Prefab")) closePopup.SetActive(!closePopup.activeSelf);
|
||||
}
|
||||
|
||||
public static void DoSplashText(TMP_Text text, SplashEntry splash) {
|
||||
|
||||
Reference in new issue
Block a user