| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- using System.Collections;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.Networking;
- using UnityEngine.EventSystems;
- using UnityEngine.SceneManagement;
- public class Register : MonoBehaviour {
- public GameObject username;
- public GameObject password;
- public GameObject email;
- public Text errorText;
- public Button registerButton;
- private string Username;
- private string Password;
- private string Email;
- private string form;
- 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
- void Update() {
- 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() {
- string errorMessage = "";
- if (Username == "") {
- errorMessage = "Username is obligatory";
- }
- if (Password == "") {
- if (errorMessage != "") {
- errorMessage += "\n";
- }
- errorMessage += "Password is obligatory";
- }
- if (Email == "") {
- if (errorMessage != "") {
- errorMessage += "\n";
- }
- errorMessage += "Email is obligatory";
- }
- if (errorMessage != "") {
- errorText.text = errorMessage;
- errorColor.a = 1;
- } else {
- errorColor.a = 0;
- StartCoroutine(RegisterUser());
- }
- errorText.color = errorColor;
- }
- IEnumerator RegisterUser() {
- // register user at server, check for already in use for username and email.
- // TODO - hash+salt password
-
- string postUrl = registerUserUrl + "name=" + UnityWebRequest.EscapeURL(Username) + "&password=" + UnityWebRequest.EscapeURL(Password) + "&email=" + UnityWebRequest.EscapeURL(Email);
- UnityWebRequest www = UnityWebRequest.Get(postUrl);
- yield return www.SendWebRequest();
- 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;
- }
- }
- }
|