public void Logout()
    {
        CancelLogin();
        PlayerPrefs.DeleteKey(PreferenceKeys.LastUsername());
        PlayerPrefs.DeleteKey(PreferenceKeys.LastPassword());
        CloseProfileWindows();
        avatarImage.overrideSprite = null;
        LocalProfile.reset();
        Popup.Make(this, "Signed out.");

        PlayerPrefsExt.SetBool(PreferenceKeys.RankedMode(), false);
        rankStatusText.text = "Off";
    }
Exemplo n.º 2
0
    public IEnumerator PostRankingDataCoroutine()
    {
        if (IsUploading)
        {
            Popup.Make(this, "Already uploading.");
        }
        IsUploading = true;

        Debug.Log("Posting ranking data");

        Popup.Make(this, "Uploading play data...");

        yield return(new WaitForSeconds(1));

        var request = new UnityWebRequest(CytoidApplication.host + "/rank/post", "POST")
        {
            timeout = 10
        };

        var bodyRaw = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(CytoidApplication.CurrentRankedPlayData));

        print("Body: " + JsonConvert.SerializeObject(CytoidApplication.CurrentRankedPlayData));
        request.uploadHandler   = new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.Send());

        var response = request.responseCode;

        if (response != 200 || request.isNetworkError || request.isHttpError)
        {
            switch (response)
            {
            case 400:
                Popup.Make(this, "ERROR: " + "Invalid play data.");
                break;

            case 401:
                Popup.Make(this, "ERROR: " + "You haven't signed in.");
                LocalProfile.reset();
                break;

            case 403:
                Popup.Make(this, "ERROR: " + request.downloadHandler.text);
                break;

            default:
                Popup.Make(this, "ERROR: " + request.error + ".");
                break;
            }

            CloseUploadWindow();
            IsUploading = false;
            request.Dispose();
            uploadButton.interactable = true;
            yield break;
        }

        Popup.Make(this, "Uploaded play data.");

        CloseUploadWindow();
        IsUploading = false;
        request.Dispose();
    }