|
|
@@ -2,6 +2,8 @@
|
|
|
using UnityEngine;
|
|
|
using UnityEngine.UI;
|
|
|
using UnityEngine.Networking;
|
|
|
+using UnityEngine.EventSystems;
|
|
|
+using UnityEngine.SceneManagement;
|
|
|
|
|
|
public class Register : MonoBehaviour {
|
|
|
public GameObject username;
|
|
|
@@ -18,9 +20,15 @@ public class Register : MonoBehaviour {
|
|
|
|
|
|
private string registerUserUrl = "http://nordh.xyz/narKampen/dbFiles/Register.php?";
|
|
|
|
|
|
+ private Color errorColor;
|
|
|
+
|
|
|
+ private EventSystem system;
|
|
|
+
|
|
|
// Start is called before the first frame update
|
|
|
void Start() {
|
|
|
registerButton.onClick.AddListener(RegisterAction);
|
|
|
+ system = EventSystem.current;
|
|
|
+ errorColor = errorText.color;
|
|
|
}
|
|
|
|
|
|
// Update is called once per frame
|
|
|
@@ -28,6 +36,18 @@ public class Register : MonoBehaviour {
|
|
|
Username = username.GetComponent<InputField>().text;
|
|
|
Password = password.GetComponent<InputField>().text;
|
|
|
Email = email.GetComponent<InputField>().text;
|
|
|
+
|
|
|
+ if (Input.GetKeyDown(KeyCode.Tab)) {
|
|
|
+ Selectable next = system.currentSelectedGameObject.GetComponent<Selectable>().FindSelectableOnDown();
|
|
|
+
|
|
|
+ if (next != null) {
|
|
|
+
|
|
|
+ InputField inputfield = next.GetComponent<InputField>();
|
|
|
+ if (inputfield != null) inputfield.OnPointerClick(new PointerEventData(system)); //if it's an input field, also set the text caret
|
|
|
+
|
|
|
+ system.SetSelectedGameObject(next.gameObject, new BaseEventData(system));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void RegisterAction() {
|
|
|
@@ -48,7 +68,7 @@ public class Register : MonoBehaviour {
|
|
|
errorMessage += "Email is obligatory";
|
|
|
}
|
|
|
|
|
|
- Color errorColor = errorText.color;
|
|
|
+
|
|
|
if (errorMessage != "") {
|
|
|
errorText.text = errorMessage;
|
|
|
errorColor.a = 1;
|
|
|
@@ -63,7 +83,7 @@ public class Register : MonoBehaviour {
|
|
|
IEnumerator RegisterUser() {
|
|
|
// register user at server, check for already in use for username and email.
|
|
|
// TODO - hash+salt password
|
|
|
- BCrypt.Net.BCrypt
|
|
|
+
|
|
|
string postUrl = registerUserUrl + "name=" + UnityWebRequest.EscapeURL(Username) + "&password=" + UnityWebRequest.EscapeURL(Password) + "&email=" + UnityWebRequest.EscapeURL(Email);
|
|
|
|
|
|
UnityWebRequest www = UnityWebRequest.Get(postUrl);
|
|
|
@@ -72,5 +92,16 @@ public class Register : MonoBehaviour {
|
|
|
if (www.error != null) {
|
|
|
errorText.text = "There was an error registering this user, try again later";
|
|
|
}
|
|
|
+
|
|
|
+ string result = www.downloadHandler.text;
|
|
|
+ if (result == "Success") {
|
|
|
+ errorColor.a = 0;
|
|
|
+ errorText.color = errorColor;
|
|
|
+ SceneManager.LoadScene("MainMenu");
|
|
|
+ } else {
|
|
|
+ errorText.text = "Failed to register, username/email already exists"; // be more helpful, get message from sever if it is username or email
|
|
|
+ errorColor.a = 1;
|
|
|
+ errorText.color = errorColor;
|
|
|
+ }
|
|
|
}
|
|
|
}
|