IEnumerator AddUser() { //creates data to send C4NO.PlayerLoginInfo data = new C4NO.PlayerLoginInfo(); data.Username = GameObject.Find("Name").GetComponent <Text>().text; data.Password = GameObject.Find("Password").GetComponent <Text>().text; //converts data to Json, and then to byte array string classData = JsonUtility.ToJson(data); UTF8Encoding temp = new UTF8Encoding(); byte[] bytes = temp.GetBytes(classData); //prepares web request UnityWebRequest req = UnityWebRequest.Put(m_AddPlayerURL, bytes); req.SetRequestHeader("Content-Type", "application/json"); ClientConnectionState = ConnectionState.ADDING_USER; //waits for answer yield return(req.SendWebRequest()); //outcome if (req.isNetworkError || req.isHttpError) { Debug.Log(req.error); ClientConnectionState = ConnectionState.REJECTED; } else { ClientConnectionState = ConnectionState.USER_ADDED; //This worked. Encode retrieved player into internal player } }
IEnumerator RetrieveUser() { //creates data to send C4NO.PlayerLoginInfo data = new C4NO.PlayerLoginInfo(); data.Username = GameObject.Find("Name").GetComponent <InputField>().text; data.Password = GameObject.Find("Password").GetComponent <InputField>().text; //converts data to Json, and then to byte array string classData = JsonUtility.ToJson(data); Debug.Log(classData); UTF8Encoding temp = new UTF8Encoding(); byte[] bytes = temp.GetBytes(classData); //prepares web request UnityWebRequest req = UnityWebRequest.Put(m_RetrievePlayerURL, bytes); req.SetRequestHeader("Content-Type", "application/json"); ClientConnectionState = ConnectionState.FETCHING_USER; //waits for answer yield return(req.SendWebRequest()); //outcome if (req.isNetworkError || req.isHttpError) { Debug.Log(req.error); ClientConnectionState = ConnectionState.REJECTED; } else { string result = ""; if (req.isDone) { result = req.downloadHandler.text; Debug.Log(result); if (result == "Wrong Password") { ClientConnectionState = ConnectionState.REJECTED; } else { InnerClientScript.NetPlayer = JsonUtility.FromJson <C4NO.NetworkPlayer>(result); ClientConnectionState = ConnectionState.USER_FETCHED; InnerClientScript.ConnectToServer(); ClientConnectionState = ConnectionState.CONNECTING; } } } }