using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.Networking;
using UnityEngine.UI;
public class Login : MonoBehaviour
{
[SerializeField] private string authenticationEndpoint = "*************";
[SerializeField] private TMP_InputField usernameInputField;
[SerializeField] private TMP_InputField passwordInputField;
[SerializeField] private TextMeshProUGUI alertText;
[SerializeField] private Button loginButton;
public void OnLoginClick()
{
alertText.text = "Signing In...";
loginButton.interactable = false;
StartCoroutine(TryLogin());
}
private IEnumerator TryLogin()
{
string email = usernameInputField.text;
string password = passwordInputField.text;
if(email.Length < 15 || email.Length > 24)
{
alertText.text = "Invalid Username";
loginButton.interactable = true;
yield break;
}
if(password.Length < 3 || password.Length > 24)
{
alertText.text = "Invalid Password";
loginButton.interactable = true;
yield break;
}
else
{
alertText.text = "Locale is Required";
//Debug.Log("Locale is Required");
loginButton.interactable = true;
}
WWWForm form = new WWWForm();
form.AddField("email", email);
form.AddField("password", password);
UnityWebRequest request = UnityWebRequest.Post(authenticationEndpoint,form);
var handler = request.SendWebRequest();
float startTime = 0.0f;
while (!handler.isDone)
{
startTime += Time.deltaTime;
if(startTime > 10.0f)
{
break;
}
yield return null;
}
if(request.result == UnityWebRequest.Result.Success)
{
if (request.downloadHandler.text != "Invalid Credentials")
{
alertText.text = "Welcome";
loginButton.interactable = false;
//GameAccount GameAccount = JsonUtility.FromJson(request.downloadHandler.text);
}
else
{
alertText.text = "Invalid Credentials";
loginButton.interactable = true;
}
}
//Debug.Log($"{username}:{password}");
yield return null;
}
}
↧