Esempio n. 1
0
    /*
     * Web Request zur Registrierung
     */
    IEnumerator SendRegistrationRequest(string forname, string surname, string username, string mail, string password)
    {
        using (UnityWebRequest request = new UnityWebRequest("http://h2778219.stratoserver.net/spellbreaker/register.php", UnityWebRequest.kHttpVerbPUT))
        {
            Dictionary <string, string> overlayData = new Dictionary <string, string>();

            overlayData["data"] = "\"sending\"";

            JSONObject overlayDataObj = new JSONObject(overlayData);
            OverlayHandler.ActivateOverlay("common", overlayDataObj[0]);

            request.timeout = timeout;
            UserData userData = new UserData(username, password, forname, surname, mail);
            Debug.Log("Forname: " + userData.forname);
            Debug.Log("Surname: " + userData.surname);
            Debug.Log("User: "******"Pass: "******"Mail: " + userData.mail);

            request.downloadHandler = new DownloadHandlerBuffer();
            byte[] payload = System.Text.Encoding.UTF8.GetBytes(userData.SaveToString());
            request.uploadHandler = new UploadHandlerRaw(payload);
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                overlayData = new Dictionary <string, string>();

                overlayData["data"] = "\"register-fail\"";

                overlayDataObj = new JSONObject(overlayData);
                OverlayHandler.ActivateOverlay("register:ui", overlayDataObj[0], true);
                Debug.Log(request);
                Debug.Log("HTTP: " + request.isHttpError);
                Debug.Log("NETWORK: " + request.isNetworkError);
                Debug.Log(request.uploadedBytes);
                Debug.Log(request.responseCode);
                Debug.Log(request.timeout);
                Debug.Log(request.error);
                Debug.Log(request.downloadHandler.text);
            }
            else
            {
                if (request.isDone && request.responseCode == (long)200)
                {
                    // Show results as text
                    Debug.Log(request.downloadHandler.text);
                    ReturnCode rc = ReturnCode.CreateFromJson(request.downloadHandler.text);

                    Debug.Log(rc.returnCode);

                    overlayData         = new Dictionary <string, string>();
                    overlayData["data"] = rc.data;
                    overlayDataObj      = new JSONObject(overlayData);

                    if (rc.returnCode != 1)
                    {
                        OverlayHandler.ActivateOverlay("register:ui", overlayDataObj[0], true);
                        request.Dispose();
                    }
                    else
                    {
                        OverlayHandler.ActivateOverlay("register:ui", overlayDataObj[0], true);
                        request.Dispose();
                    }
                }
            }
        }
    }