示例#1
0
    public void OnLoginButtonUI()
    {
        bool logName        = isFieldEmpty(userNameInput);
        bool logPass        = isFieldEmpty(playerPassword);
        bool areFieldsEmpty = logName || logPass;

        if (areFieldsEmpty)
        {
            loginStatusText.text  = "Por favor, complete todos los campos!";
            loginStatusText.color = Color.red;
        }
        else
        {
            //StartCoroutine(LoginAuth(userNameInput.text, playerPassword.text, loginStatusText));
            DeactivateButtons(true);
            LoginAuth(userNameInput.text, playerPassword.text,
                      (string res) => {
                userToken = JsonUtility.FromJson <UserToken>(res);
                Login(userToken.id, userToken.token,
                      (string loginRes) =>
                {
                    Debug.Log(loginRes);
                    userLogin = JsonUtility.FromJson <UserLogin>(loginRes);

                    loginStatusText.text  = "Bienvenido " + userLogin.username + "!";
                    loginStatusText.color = Color.green;

                    _playerCustomProperties["username"] = userLogin.username;

                    savedAccount = new SavedAccount()
                    {
                        username   = userNameInput.text,
                        password   = playerPassword.text,
                        isLoggedIn = true
                    };
                    Save();
                    SetPlayerCustomPropierties();
                    StartCoroutine(OnLoginSuccess());
                }, (int loginErr) =>
                {
                    loginStatusText.text  = "Error inesperado, token no válido";
                    loginStatusText.color = Color.red;
                    //offlineButton.interactable = true;
                    ActivateButtons(true);
                });
            }, (int err) => {
                if (err == 403)
                {
                    loginStatusText.text = "Usuario o contraseña incorrecta";
                }
                else
                {
                    loginStatusText.text = "Error del servidor, intente más tarde.";
                }
                loginStatusText.color = Color.red;
                //offlineButton.interactable = true;
                ActivateButtons(true);
            });
        }
    }
        private void UpsertAccount()
        {
            var acc = Account.Account;

            if (string.IsNullOrEmpty(acc.Password) &&
                string.IsNullOrEmpty(acc.Email) &&
                string.IsNullOrEmpty(acc.BattleNet.BattleName) &&
                !acc.BattleNet.BattleTag.HasValue)
            {
                return;
            }

            var item = Accounts.FirstOrDefault(x => x.Account == SavedAccount.Account);

            if (SavedAccount.EqualsValues(emptyAcc))
            {
                Accounts.Add(Account);
                StoreAndClean();
                return;
            }

            if (item != null)
            {
                item.Account = acc;
                StoreAndClean();
                return;
            }
        }
示例#3
0
    public void Load()
    {
        if (PlayerPrefs.HasKey("saved"))
        {
            savedAccount = Helper.Deserialize <SavedAccount>(PlayerPrefs.GetString("saved"));
            if (savedAccount.isLoggedIn)
            {
                loginButton.interactable    = false;
                registerButton.interactable = false;
                userNameInput.text          = savedAccount.username;
                playerPassword.text         = savedAccount.password;
                //StartCoroutine(LoginAuth(savedAccount.username, savedAccount.password, loginStatusText));
                OnLoginButtonUI();
            }
        }

        /*
         * if(PlayerPrefs.HasKey("publicidades"))
         * {
         *  publicidadesGame = Helper.Deserialize<PublicidadesGame>(PlayerPrefs.GetString("publicidades"));
         * }
         */
    }