Finish accounts Menu
- Make it so you can exit the accounts menu when logged in lol - Added changing username and password - Added saving and loading data
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,7 @@ public class AccountMenu : MonoBehaviour
|
|||||||
public GameObject loggedOutPanel;
|
public GameObject loggedOutPanel;
|
||||||
public Button loggedOutLoginButton;
|
public Button loggedOutLoginButton;
|
||||||
public Button loggedOutRegisterButton;
|
public Button loggedOutRegisterButton;
|
||||||
|
public Button loggedOutBackButton;
|
||||||
|
|
||||||
public GameObject loginPanel;
|
public GameObject loginPanel;
|
||||||
public TMP_Text loginPanelStatusText;
|
public TMP_Text loginPanelStatusText;
|
||||||
@@ -40,9 +41,24 @@ public class AccountMenu : MonoBehaviour
|
|||||||
public Button registerBackButton;
|
public Button registerBackButton;
|
||||||
public Button registerSubmitButton;
|
public Button registerSubmitButton;
|
||||||
|
|
||||||
|
public GameObject changeUsernamePanel;
|
||||||
|
public TMP_Text changeUsernameStatusText;
|
||||||
|
public TMP_InputField changeUsernameCurrentUsernameInput;
|
||||||
|
public TMP_InputField changeUsernameNewUsernameInput;
|
||||||
|
public Button changeUsernameBackButton;
|
||||||
|
public Button changeUsernameSubmitButton;
|
||||||
|
|
||||||
|
public GameObject changePasswordPanel;
|
||||||
|
public TMP_Text changePasswordStatusText;
|
||||||
|
public TMP_InputField changePasswordCurrentPasswordInput;
|
||||||
|
public TMP_InputField changePasswordNewPasswordInput;
|
||||||
|
public TMP_InputField changePasswordRetypeNewPasswordInput;
|
||||||
|
public Button changePasswordBackButton;
|
||||||
|
public Button changePasswordSubmitButton;
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
if (PlayerPrefs.HasKey("gameSession") && PlayerPrefs.HasKey("userName"))
|
if (PlayerPrefs.HasKey("gameSession") && PlayerPrefs.HasKey("userName") && PlayerPrefs.HasKey("userId"))
|
||||||
{
|
{
|
||||||
SwitchPanel(0);
|
SwitchPanel(0);
|
||||||
}
|
}
|
||||||
@@ -51,24 +67,25 @@ public class AccountMenu : MonoBehaviour
|
|||||||
SwitchPanel(1);
|
SwitchPanel(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
loggedInLogoutButton.onClick.AddListener(() =>
|
loggedInChangeUsernameButton.onClick.AddListener(() => SwitchPanel(4));
|
||||||
{
|
loggedInChangePasswordButton.onClick.AddListener(() => SwitchPanel(5));
|
||||||
PlayerPrefs.DeleteKey("gameSession");
|
loggedInSaveButton.onClick.AddListener(() => SaveAccount());
|
||||||
PlayerPrefs.DeleteKey("userName");
|
loggedInLoadButton.onClick.AddListener(() => LoadAccount());
|
||||||
PlayerPrefs.SetInt("HighScore", 0);
|
loggedInLogoutButton.onClick.AddListener(() => SwitchPanel(1));
|
||||||
PlayerPrefs.SetInt("icon", 1);
|
|
||||||
PlayerPrefs.SetInt("overlay", 0);
|
|
||||||
SwitchPanel(1);
|
|
||||||
});
|
|
||||||
loggedInBackButton.onClick.AddListener(() => SceneManager.LoadSceneAsync("MainMenu"));
|
loggedInBackButton.onClick.AddListener(() => SceneManager.LoadSceneAsync("MainMenu"));
|
||||||
loggedOutLoginButton.onClick.AddListener(() => SwitchPanel(2));
|
loggedOutLoginButton.onClick.AddListener(() => SwitchPanel(2));
|
||||||
loggedOutRegisterButton.onClick.AddListener(() => SwitchPanel(3));
|
loggedOutRegisterButton.onClick.AddListener(() => SwitchPanel(3));
|
||||||
|
loggedOutBackButton.onClick = loggedInBackButton.onClick;
|
||||||
loginRegisterButton.onClick.AddListener(() => SwitchPanel(3));
|
loginRegisterButton.onClick.AddListener(() => SwitchPanel(3));
|
||||||
loginBackButton.onClick.AddListener(() => SwitchPanel(1));
|
loginBackButton.onClick.AddListener(() => SwitchPanel(1));
|
||||||
loginSubmitButton.onClick.AddListener(() => SubmitLogin());
|
loginSubmitButton.onClick.AddListener(() => SubmitLogin());
|
||||||
registerLoginButton.onClick.AddListener(() => SwitchPanel(2));
|
registerLoginButton.onClick.AddListener(() => SwitchPanel(2));
|
||||||
registerBackButton.onClick.AddListener(() => SwitchPanel(1));
|
registerBackButton.onClick.AddListener(() => SwitchPanel(1));
|
||||||
registerSubmitButton.onClick.AddListener(() => SubmitRegister());
|
registerSubmitButton.onClick.AddListener(() => SubmitRegister());
|
||||||
|
changeUsernameBackButton.onClick.AddListener(() => SwitchPanel(0));
|
||||||
|
changeUsernameSubmitButton.onClick.AddListener(() => ChangeUsername());
|
||||||
|
changePasswordBackButton.onClick.AddListener(() => SwitchPanel(0));
|
||||||
|
changePasswordSubmitButton.onClick.AddListener(() => ChangePassword());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SwitchPanel(int panel)
|
void SwitchPanel(int panel)
|
||||||
@@ -76,17 +93,29 @@ public class AccountMenu : MonoBehaviour
|
|||||||
switch (panel)
|
switch (panel)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
loggedInSaveButton.interactable = true;
|
||||||
|
loggedInLoadButton.interactable = true;
|
||||||
loggedInText.text = "Logged in as: " + PlayerPrefs.GetString("userName");
|
loggedInText.text = "Logged in as: " + PlayerPrefs.GetString("userName");
|
||||||
loggedInPanel.SetActive(true);
|
loggedInPanel.SetActive(true);
|
||||||
loggedOutPanel.SetActive(false);
|
loggedOutPanel.SetActive(false);
|
||||||
loginPanel.SetActive(false);
|
loginPanel.SetActive(false);
|
||||||
registerPanel.SetActive(false);
|
registerPanel.SetActive(false);
|
||||||
|
changeUsernamePanel.SetActive(false);
|
||||||
|
changePasswordPanel.SetActive(false);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
PlayerPrefs.DeleteKey("gameSession");
|
||||||
|
PlayerPrefs.DeleteKey("userName");
|
||||||
|
PlayerPrefs.DeleteKey("userId");
|
||||||
|
PlayerPrefs.SetInt("HighScore", 0);
|
||||||
|
PlayerPrefs.SetInt("icon", 1);
|
||||||
|
PlayerPrefs.SetInt("overlay", 0);
|
||||||
loggedInPanel.SetActive(false);
|
loggedInPanel.SetActive(false);
|
||||||
loggedOutPanel.SetActive(true);
|
loggedOutPanel.SetActive(true);
|
||||||
loginPanel.SetActive(false);
|
loginPanel.SetActive(false);
|
||||||
registerPanel.SetActive(false);
|
registerPanel.SetActive(false);
|
||||||
|
changeUsernamePanel.SetActive(false);
|
||||||
|
changePasswordPanel.SetActive(false);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
loginUsernameInput.text = "";
|
loginUsernameInput.text = "";
|
||||||
@@ -96,6 +125,8 @@ public class AccountMenu : MonoBehaviour
|
|||||||
loggedOutPanel.SetActive(false);
|
loggedOutPanel.SetActive(false);
|
||||||
loginPanel.SetActive(true);
|
loginPanel.SetActive(true);
|
||||||
registerPanel.SetActive(false);
|
registerPanel.SetActive(false);
|
||||||
|
changeUsernamePanel.SetActive(false);
|
||||||
|
changePasswordPanel.SetActive(false);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
registerUsernameInput.text = "";
|
registerUsernameInput.text = "";
|
||||||
@@ -108,6 +139,31 @@ public class AccountMenu : MonoBehaviour
|
|||||||
loggedOutPanel.SetActive(false);
|
loggedOutPanel.SetActive(false);
|
||||||
loginPanel.SetActive(false);
|
loginPanel.SetActive(false);
|
||||||
registerPanel.SetActive(true);
|
registerPanel.SetActive(true);
|
||||||
|
changeUsernamePanel.SetActive(false);
|
||||||
|
changePasswordPanel.SetActive(false);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
changeUsernameCurrentUsernameInput.text = "";
|
||||||
|
changeUsernameNewUsernameInput.text = "";
|
||||||
|
changeUsernameStatusText.text = "";
|
||||||
|
loggedInPanel.SetActive(false);
|
||||||
|
loggedOutPanel.SetActive(false);
|
||||||
|
loginPanel.SetActive(false);
|
||||||
|
registerPanel.SetActive(false);
|
||||||
|
changeUsernamePanel.SetActive(true);
|
||||||
|
changePasswordPanel.SetActive(false);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
changePasswordCurrentPasswordInput.text = "";
|
||||||
|
changePasswordNewPasswordInput.text = "";
|
||||||
|
changePasswordRetypeNewPasswordInput.text = "";
|
||||||
|
changePasswordStatusText.text = "";
|
||||||
|
loggedInPanel.SetActive(false);
|
||||||
|
loggedOutPanel.SetActive(false);
|
||||||
|
loginPanel.SetActive(false);
|
||||||
|
registerPanel.SetActive(false);
|
||||||
|
changeUsernamePanel.SetActive(false);
|
||||||
|
changePasswordPanel.SetActive(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -129,21 +185,21 @@ public class AccountMenu : MonoBehaviour
|
|||||||
UpdateStatusText(registerPanelStatusText, "Username must be 3-16 characters, letters and numbers only", Color.red);
|
UpdateStatusText(registerPanelStatusText, "Username must be 3-16 characters, letters and numbers only", Color.red);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WWWForm wWWForm = new();
|
WWWForm dataForm = new();
|
||||||
wWWForm.AddField("username", registerUsernameInput.text);
|
dataForm.AddField("username", registerUsernameInput.text);
|
||||||
wWWForm.AddField("email", registerEmailInput.text);
|
dataForm.AddField("email", registerEmailInput.text);
|
||||||
wWWForm.AddField("password", registerPasswordInput.text);
|
dataForm.AddField("password", registerPasswordInput.text);
|
||||||
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/registerAccount.php", wWWForm);
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/registerAccount.php", dataForm);
|
||||||
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
request.SetRequestHeader("ClientVersion", PlayerPrefs.GetFloat("clientVersion").ToString());
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
await request.SendWebRequest();
|
await request.SendWebRequest();
|
||||||
if (request.result != UnityWebRequest.Result.Success)
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
{
|
{
|
||||||
UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red);
|
UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
string text = request.downloadHandler.text;
|
string response = request.downloadHandler.text;
|
||||||
switch (text)
|
switch (response)
|
||||||
{
|
{
|
||||||
case "1":
|
case "1":
|
||||||
SwitchPanel(2);
|
SwitchPanel(2);
|
||||||
@@ -173,43 +229,45 @@ public class AccountMenu : MonoBehaviour
|
|||||||
UpdateStatusText(registerPanelStatusText, "Username or email already exists", Color.red);
|
UpdateStatusText(registerPanelStatusText, "Username or email already exists", Color.red);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
UpdateStatusText(registerPanelStatusText, "Unknown server response \"" + text + "\"", Color.red);
|
UpdateStatusText(registerPanelStatusText, "Unknown server response", Color.red);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async void SubmitLogin()
|
async void SubmitLogin()
|
||||||
{
|
{
|
||||||
WWWForm wWWForm = new();
|
WWWForm dataForm = new();
|
||||||
wWWForm.AddField("username", loginUsernameInput.text);
|
dataForm.AddField("username", loginUsernameInput.text);
|
||||||
wWWForm.AddField("password", loginPasswordInput.text);
|
dataForm.AddField("password", loginPasswordInput.text);
|
||||||
wWWForm.AddField("currentHighScore", PlayerPrefs.GetInt("HighScore", 0).ToString());
|
dataForm.AddField("currentHighScore", PlayerPrefs.GetInt("HighScore", 0).ToString());
|
||||||
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/loginAccount.php", wWWForm);
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/loginAccount.php", dataForm);
|
||||||
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
request.SetRequestHeader("ClientVersion", PlayerPrefs.GetFloat("clientVersion").ToString());
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
await request.SendWebRequest();
|
await request.SendWebRequest();
|
||||||
if (request.result != UnityWebRequest.Result.Success)
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
{
|
{
|
||||||
UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red);
|
UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
string text = request.downloadHandler.text;
|
string response = request.downloadHandler.text;
|
||||||
if (!(text == "-1"))
|
if (response != "-1")
|
||||||
{
|
{
|
||||||
if (text == "-2")
|
if (response == "-2")
|
||||||
{
|
{
|
||||||
UpdateStatusText(loginPanelStatusText, "Incorrect username or password", Color.red);
|
UpdateStatusText(loginPanelStatusText, "Incorrect username or password", Color.red);
|
||||||
}
|
}
|
||||||
else if (text.Split(":")[0] == "1")
|
else if (response.Split(":")[0] == "1")
|
||||||
{
|
{
|
||||||
string[] array = text.Split(':');
|
string[] array = response.Split(':');
|
||||||
string session = array[1];
|
string session = array[1];
|
||||||
string userName = array[2];
|
string userName = array[2];
|
||||||
int highScore = int.Parse(array[3]);
|
int userId = int.Parse(array[3]);
|
||||||
int iconId = int.Parse(array[4]);
|
int highScore = int.Parse(array[4]);
|
||||||
int overlayId = int.Parse(array[5]);
|
int iconId = int.Parse(array[5]);
|
||||||
|
int overlayId = int.Parse(array[6]);
|
||||||
PlayerPrefs.SetString("gameSession", session);
|
PlayerPrefs.SetString("gameSession", session);
|
||||||
PlayerPrefs.SetString("userName", userName);
|
PlayerPrefs.SetString("userName", userName);
|
||||||
|
PlayerPrefs.SetInt("userId", userId);
|
||||||
PlayerPrefs.SetInt("HighScore", highScore);
|
PlayerPrefs.SetInt("HighScore", highScore);
|
||||||
PlayerPrefs.SetInt("icon", iconId);
|
PlayerPrefs.SetInt("icon", iconId);
|
||||||
PlayerPrefs.SetInt("overlay", overlayId);
|
PlayerPrefs.SetInt("overlay", overlayId);
|
||||||
@@ -227,6 +285,189 @@ public class AccountMenu : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async void ChangeUsername()
|
||||||
|
{
|
||||||
|
WWWForm dataForm = new();
|
||||||
|
dataForm.AddField("inputUserName", changeUsernameCurrentUsernameInput.text);
|
||||||
|
dataForm.AddField("inputNewUserName", changeUsernameNewUsernameInput.text);
|
||||||
|
dataForm.AddField("session", PlayerPrefs.GetString("gameSession"));
|
||||||
|
dataForm.AddField("userName", PlayerPrefs.GetString("userName"));
|
||||||
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/changeAccountUsername.php", dataForm);
|
||||||
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
|
await request.SendWebRequest();
|
||||||
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
|
{
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string response = request.downloadHandler.text;
|
||||||
|
switch (response)
|
||||||
|
{
|
||||||
|
case "1":
|
||||||
|
PlayerPrefs.SetString("userName", changeUsernameNewUsernameInput.text);
|
||||||
|
SwitchPanel(0);
|
||||||
|
UpdateStatusText(loggedInText, "Username changed successfully", Color.green);
|
||||||
|
break;
|
||||||
|
case "-1":
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "Internal login server error", Color.red);
|
||||||
|
break;
|
||||||
|
case "-2":
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "New Username is too short or too long", Color.red);
|
||||||
|
break;
|
||||||
|
case "-3":
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "New Username does not match the required format", Color.red);
|
||||||
|
break;
|
||||||
|
case "-4":
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "New username already exists", Color.red);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
UpdateStatusText(changeUsernameStatusText, "Unknown server response", Color.red);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async void ChangePassword()
|
||||||
|
{
|
||||||
|
if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text)
|
||||||
|
{
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
WWWForm dataForm = new();
|
||||||
|
dataForm.AddField("inputPassword", changePasswordCurrentPasswordInput.text);
|
||||||
|
dataForm.AddField("inputNewPassword", changePasswordNewPasswordInput.text);
|
||||||
|
dataForm.AddField("session", PlayerPrefs.GetString("gameSession"));
|
||||||
|
dataForm.AddField("userName", PlayerPrefs.GetString("userName"));
|
||||||
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/changeAccountPassword.php", dataForm);
|
||||||
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
|
await request.SendWebRequest();
|
||||||
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
|
{
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string response = request.downloadHandler.text;
|
||||||
|
switch (response)
|
||||||
|
{
|
||||||
|
case "-1":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Internal login server error", Color.red);
|
||||||
|
break;
|
||||||
|
case "-2":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "New Password, Password, or username is empty", Color.red);
|
||||||
|
break;
|
||||||
|
case "-3":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "New Password is too short or too long", Color.red);
|
||||||
|
break;
|
||||||
|
case "-4":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Username must be 3-16 characters, letters and numbers only", Color.red);
|
||||||
|
break;
|
||||||
|
case "-5":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Incorrect current password", Color.red);
|
||||||
|
break;
|
||||||
|
case "-6":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Current username is incorrect", Color.red);
|
||||||
|
break;
|
||||||
|
case "-7":
|
||||||
|
UpdateStatusText(changePasswordStatusText, "New password cannot be the same as your old password", Color.red);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (Regex.IsMatch(response, "^[a-zA-Z0-9]{512}$"))
|
||||||
|
{
|
||||||
|
PlayerPrefs.SetString("gameSession", response);
|
||||||
|
SwitchPanel(0);
|
||||||
|
UpdateStatusText(loggedInText, "Password changed successfully", Color.green);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UpdateStatusText(changePasswordStatusText, "Unknown server response " + response, Color.red);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async void SaveAccount()
|
||||||
|
{
|
||||||
|
loggedInLoadButton.interactable = false;
|
||||||
|
loggedInSaveButton.interactable = false;
|
||||||
|
WWWForm dataForm = new();
|
||||||
|
dataForm.AddField("userName", PlayerPrefs.GetString("userName", ""));
|
||||||
|
dataForm.AddField("gameSession", PlayerPrefs.GetString("gameSession", ""));
|
||||||
|
dataForm.AddField("highScore", PlayerPrefs.GetInt("HighScore", 0).ToString());
|
||||||
|
dataForm.AddField("icon", PlayerPrefs.GetInt("icon", 1).ToString());
|
||||||
|
dataForm.AddField("overlay", PlayerPrefs.GetInt("overlay", 0).ToString());
|
||||||
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/saveAccount.php", dataForm);
|
||||||
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
|
await request.SendWebRequest();
|
||||||
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
|
{
|
||||||
|
UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string response = request.downloadHandler.text;
|
||||||
|
switch (response)
|
||||||
|
{
|
||||||
|
case "1":
|
||||||
|
UpdateStatusText(loggedInText, "Synced account", Color.green);
|
||||||
|
break;
|
||||||
|
case "-1":
|
||||||
|
UpdateStatusText(loggedInText, "Internal login server error", Color.red);
|
||||||
|
break;
|
||||||
|
case "-2":
|
||||||
|
SwitchPanel(0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
UpdateStatusText(loggedInText, "Unknown server response", Color.red);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
loggedInLoadButton.interactable = true;
|
||||||
|
loggedInSaveButton.interactable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
async void LoadAccount()
|
||||||
|
{
|
||||||
|
loggedInLoadButton.interactable = false;
|
||||||
|
loggedInSaveButton.interactable = false;
|
||||||
|
WWWForm dataForm = new();
|
||||||
|
dataForm.AddField("userName", PlayerPrefs.GetString("userName", ""));
|
||||||
|
dataForm.AddField("gameSession", PlayerPrefs.GetString("gameSession", ""));
|
||||||
|
using UnityWebRequest request = UnityWebRequest.Post("https://berrydash.lncvrt.xyz/database/loadAccount.php", dataForm);
|
||||||
|
request.SetRequestHeader("User-Agent", "BerryDashClient");
|
||||||
|
request.SetRequestHeader("ClientVersion", Application.version);
|
||||||
|
await request.SendWebRequest();
|
||||||
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
|
{
|
||||||
|
UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string response = request.downloadHandler.text;
|
||||||
|
switch (response)
|
||||||
|
{
|
||||||
|
case "-1":
|
||||||
|
UpdateStatusText(loggedInText, "Internal login server error", Color.red);
|
||||||
|
break;
|
||||||
|
case "-2":
|
||||||
|
SwitchPanel(0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
var split = response.Split(":");
|
||||||
|
if (split[0] == "1")
|
||||||
|
{
|
||||||
|
PlayerPrefs.SetInt("HighScore", int.Parse(split[1]));
|
||||||
|
PlayerPrefs.SetInt("icon", int.Parse(split[2]));
|
||||||
|
PlayerPrefs.SetInt("overlay", int.Parse(split[3]));
|
||||||
|
UpdateStatusText(loggedInText, "Loaded account data", Color.green);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UpdateStatusText(loggedInText, "Unknown server response", Color.red);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
loggedInLoadButton.interactable = true;
|
||||||
|
loggedInSaveButton.interactable = true;
|
||||||
|
}
|
||||||
|
|
||||||
void UpdateStatusText(TMP_Text statusText, string message, Color color)
|
void UpdateStatusText(TMP_Text statusText, string message, Color color)
|
||||||
{
|
{
|
||||||
statusText.text = message;
|
statusText.text = message;
|
||||||
|
|||||||
Reference in New Issue
Block a user