Exemple #1
0
        public void GetOurGames()
        {
            TacoManager.OpenMessage(TacoConfig.TacoOurGamesLoadingMessage);
            foreach (Transform child in gamesList)
            {
                Destroy(child.gameObject);
            }
            ourGamesList     = new List <OurGame> ();
            buttons [0].isOn = true;            //set default to all toggle

            Action <string> success = (string data) => {
                GameFeaturedResult r = JsonUtility.FromJson <GameFeaturedResult> (data);
                if (r.success)
                {
                    TacoManager.CloseMessage();
                    UpdateGames(r.games);
                }
            };

            Action <string, string> fail = (string errorData, string error) => {
                Debug.Log("Error on get : " + errorData);
                if (!string.IsNullOrEmpty(error))
                {
                    Debug.Log("Error : " + error);
                }

                TacoManager.CloseMessage();

                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
            };

            string url = "api/game/featured?userAgent=" + platform;

            StartCoroutine(ApiManager.Instance.GetWithToken(url, success, fail));
        }
Exemple #2
0
        public void LoginWithGoogle()
        {
            TacoManager.LoginPanelObject.SetActive(true);//if from register panel
            TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage00);
            Debug.Log("internet: " + Application.internetReachability);
            if (Application.internetReachability == NetworkReachability.NotReachable)
            {
                TacoManager.CloseMessage();
                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginStatusNoInternet);
                return;
            }

            Action <string> onSuccess = (string data) => {
                TacoManager.CloseMessage();
                GoogleDeviceInfo r = JsonUtility.FromJson <GoogleDeviceInfo> (data);
                CodeDisplayPanel.SetActive(true);
                CodeDisplayPanel.transform.Find("Main/Code").GetComponent <InputField> ().text = r.user_code;
                deviceInfo = r;
                //testing
                TextEditor te = new TextEditor();
                te.text = deviceInfo.user_code;
                te.SelectAll();
                te.Copy();
            };

            Action <string, string> onFail = (string data, string error) => {
                TacoManager.CloseMessage();
                TacoManager.OpenModalLoginFailedPanel(error);
            };

            StartCoroutine(ApiManager.Instance.RequestDeviceAdnUserCode(authorizationDeviceEndpoint, clientID, onSuccess, onFail));
        }
Exemple #3
0
        public void ValidateUserOrEmail(string emailToCheck)
        {
            EmailOkay.SetActive(false);

            Action <string> success = (string data) => {
                GameFeaturedResult r = JsonUtility.FromJson <GameFeaturedResult> (data);
                if (r.success)
                {
                    if (data.Contains("true"))
                    {
                        EmailOkay.SetActive(true);
                    }
                }
                ;
            };

            Action <string, string> fail = (string errorData, string error) => {
                Debug.Log("Error on get : " + errorData);
                if (!string.IsNullOrEmpty(error))
                {
                    Debug.Log("Error : " + error);
                }

                TacoManager.CloseMessage();
                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
            };

            string url = "api/user/verify?u=" + emailToCheck;

            StartCoroutine(ApiManager.Instance.GetWithToken(url, success, fail));
        }
Exemple #4
0
        public void LoginWithFacebook()
        {
            TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage00);
            if (Application.internetReachability == NetworkReachability.NotReachable)
            {
                TacoManager.CloseMessage();
                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginStatusNoInternet);
                //TacoManager.OpenModal (TacoConfig.TacoLoginErrorHeader, "Please connect internet before login.");
                return;
            }
#if UNITY_IOS || UNITY_ANDROID
            //FB.LogInWithReadPermissions(new List<string>() { "public_profile", "email", "user_friends" }, AuthCallback);
#endif
        }
Exemple #5
0
        private IEnumerator PollRequestToGoogle(GoogleDeviceInfo deviceData)
        {
            bool polling  = true;
            int  nbOfPoll = 9;

            while (polling)
            {
                Action <string> onSuccess = (string accessData) => {
                    Debug.Log("access data: " + accessData);
                    AccessData result = JsonUtility.FromJson <AccessData> (accessData);
                    if (!string.IsNullOrEmpty(result.access_token))
                    {
                        polling = false;

                        Debug.Log("login google");
                        Action <string> successUserInfo = (string userInfo) => {
                            TacoManager.CloseMessage();

                            Debug.Log(userInfo);
                            LoginResult r = JsonUtility.FromJson <LoginResult> (userInfo);
                            if (r.success)
                            {
                                TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage01);
                                TacoManager.CreateUser(r);
                                BalanceManager.Instance.SetRemainingValue(r.remainingClaim, r.login_count);
                                if (r.msg == "in")
                                {
                                    if (r.free == "free")
                                    {
                                        //TacoManager.OpenModal("Login success", "Welcome back to game taco! You get " + r.score_tokens + " taco token from free play!");
                                    }
                                    else
                                    {
                                        if (r.free == "enough")
                                        {
                                            //TacoManager.OpenModal("Login success", "Welcome back to game taco! You've got too many taco tokens today! Please try again tomorrow.");
                                        }
                                        else
                                        {
                                            TacoManager.OpenHowToPlayPanel();
                                        }
                                    }
                                }
                                else
                                {
                                    if (r.msg == "anotherSocial")
                                    {
                                        if (r.free == "free")
                                        {
                                            //TacoManager.OpenModal("Login success", "You get " + "6" + " taco token for login today! And " + r.score_tokens + " taco token from free play!");
                                        }
                                        else
                                        {
                                            TacoManager.OpenModalRegisterPanel(TacoManager.User.name);
                                        }
                                    }
                                    else
                                    {
                                        if (r.free == "free")
                                        {
                                            //TacoManager.OpenModal("Login success", "You get " + r.value + " taco token for login today! And " + r.score_tokens + " taco token from free play!");
                                        }
                                        else
                                        {
                                            if (!TacoManager.GetPanel("SuccessRegister").activeSelf)
                                            {
                                                TacoManager.OpenModalDailyTokenPanel(r.value);
                                            }
                                        }
                                    }
                                }

                                // clean up the login panel
                                Init();
                            }
                            else
                            {
                                TacoManager.CloseMessage();
                                TacoManager.OpenModalLoginFailedPanel(TacoConfig.Error);
                            }
                        };
                        Action <string, string> failUserInfo = (string userInfo, string error) => {
                            //TacoManager.CloseMessage();
                            //TacoManager.OpenModalLoginFailedPanel(error);
                            Debug.Log(userInfo);
                            if (!string.IsNullOrEmpty(userInfo))
                            {
                                SystemError r = JsonUtility.FromJson <SystemError> (userInfo);
                                if (r.verErr)
                                {
                                    //version error
                                    TacoManager.CloseMessage();
                                    TacoManager.OpenModalIncorrectVersionPanel(r.message);
                                }
                                else
                                {
                                    TacoManager.CloseMessage();
                                    string msg = r.message;
                                    if (string.IsNullOrEmpty(msg))
                                    {
                                        msg = TacoConfig.TacoLoginErrorEmailPassword;
                                    }
                                    TacoManager.OpenModalLoginFailedPanel(msg);
                                }
                            }
                            else
                            {
                                TacoManager.CloseMessage();
                                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
                            }
                        };
                        StartCoroutine(ApiManager.Instance.LoginGoogle(result.access_token, result.id_token, ReferenceCodeInput.text, successUserInfo, failUserInfo));
                    }
                    else if (nbOfPoll < 0)
                    {
                        polling = false;
                        TacoManager.CloseMessage();
                        TacoManager.OpenModalLoginFailedPanel(TacoConfig.Error);
                    }
                    nbOfPoll--;
                };
                Action <string, string> onFail = (string data, string error) => {
                    nbOfPoll--;
                    if (nbOfPoll < 0)
                    {
                        polling = false;
                        TacoManager.CloseMessage();
                        TacoManager.OpenModalLoginFailedPanel(error);
                    }
                };
                StartCoroutine(ApiManager.Instance.PollGoogleAuthorization("https://www.googleapis.com/oauth2/v4/token", clientID, clientSecret, deviceData.device_code, "http://oauth.net/grant_type/device/1.0", deviceData.interval, onSuccess, onFail));
                yield return(new WaitForSeconds(deviceData.interval));
            }
        }
Exemple #6
0
        public void Login()
        {
            var email    = EmailInput.GetComponent <InputField> ().text;
            var password = PasswordInput.GetComponent <InputField> ().text;
            // toggle returns a bool
            bool autoLoginBool = AutoLoginToggle.GetComponent <Toggle> ().isOn;

            // Unity doesn't allow Bool as a preference type, using int
            int autoLoginInt = 0;

            if (autoLoginBool)
            {
                autoLoginInt = 1;
            }

            TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage00);

            //TODO: Verify valid email syntax
            if (email == string.Empty || password == string.Empty)
            {
                TacoManager.CloseMessage();
                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorMessage00);
            }
            else
            {
                Action <string> success = (string data) => {
                    LoginResult r = JsonUtility.FromJson <LoginResult> (data);
                    if (r.success)
                    {
                        Debug.Log("login login_count " + r.login_count);
                        BalanceManager.Instance.SetRemainingValue(r.remainingClaim, r.login_count);
                        TacoManager.SetPreference(UserPreferences.autoLogin, autoLoginInt);
                        TacoManager.SetPreferenceString(UserPreferences.userToken, r.token);

                        TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage01);
                        TacoManager.CreateUser(r);

                        if (r.msg == "in")
                        {
                            if (r.free == "free")
                            {
                                //Debug.LogError("No longer implemented");
                                //TacoManager.OpenModal("Login success", "Welcome back to game taco! You get " + r.score_tokens + " taco token from free play!");
                            }
                            else
                            {
                                if (r.free == "enough")
                                {
                                    Debug.LogError("No longer implemented");
                                    //TacoManager.OpenModal("Login success", "Welcome back to game taco! You've got too many taco tokens today! Please try again tomorrow.");
                                }
                                else
                                {
                                    TacoManager.OpenHowToPlayPanel();
                                }
                            }
                        }
                        else
                        {
                            if (r.free == "free")
                            {
                                Debug.LogError("No longer implemented");
                                //TacoManager.OpenModal("Login success", "You get " + r.value + " taco token for login today! And " + r.score_tokens + " taco token from free play!");
                            }
                            else
                            {
                                if (!TacoManager.GetPanel("SuccessRegister").activeSelf)
                                {
                                    TacoManager.OpenModalDailyTokenPanel(r.value);
                                }
                                else
                                {
                                    TacoManager.OpenModalRegisterPanel(TacoManager.User.name);
                                }
                            }
                        }
                        //ApiManager.Instance.OpenConnection();
                        //ApiManager.Instance.SendData(r.userName + string.Empty);
                        Init();
                    }
                    else
                    {
                        TacoManager.CloseMessage();
                        TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
                    }
                };

                Action <string, string> fail = (string data, string error) => {
                    if (!string.IsNullOrEmpty(data))
                    {
                        SystemError r = JsonUtility.FromJson <SystemError> (data);
                        if (r.verErr)
                        {
                            //version error
                            TacoManager.CloseMessage();
                            TacoManager.OpenModalIncorrectVersionPanel(r.message);
                        }
                        else
                        {
                            TacoManager.CloseMessage();
                            string msg = r.message;
                            if (string.IsNullOrEmpty(msg))
                            {
                                msg = TacoConfig.TacoLoginErrorEmailPassword;
                            }
                            TacoManager.OpenModalLoginFailedPanel(msg);
                        }
                    }
                    else
                    {
                        TacoManager.CloseMessage();
                        TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
                    }

                    if (!string.IsNullOrEmpty(error))
                    {
                        Debug.Log("Error : " + error);
                    }
                };

                StartCoroutine(ApiManager.Instance.Login(email, password, success, fail));
            }
        }
Exemple #7
0
        public void GetSession(string token)
        {
            TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage00);

            Action <string> success = (string data) => {
                SessionResult r = JsonUtility.FromJson <SessionResult> (data);
                if (r.success)
                {
                    Debug.Log("session: " + data);
                    BalanceManager.Instance.SetRemainingValue(r.remainingClaim, r.login_count);
                    TacoManager.OpenMessage(TacoConfig.TacoLoginStatusMessage01);
                    TacoManager.UpdateUser(r, token);
                    if (r.msg == "in")
                    {
                        //Debug.LogWarning("No longer implemented");
                    }
                    else
                    {
                        TacoManager.OpenModalDailyTokenPanel(r.value);
                    }
                }
                else
                {
                    TacoManager.CloseMessage();
                    TacoManager.SetPreferenceString(UserPreferences.userToken, null);
                    TacoManager.SetPreference(UserPreferences.autoLogin, 0);
                    TacoManager.ShowPanel(PanelNames.LoginPanel);

                    if (!string.IsNullOrEmpty(r.message))
                    {
                        TacoManager.OpenModalLoginFailedPanel(r.message);
                    }
                }
            };

            Action <string, string> fail = (string data, string error) => {
                if (!string.IsNullOrEmpty(data))
                {
                    try {
                        SystemError r = JsonUtility.FromJson <SystemError> (data);
                        if (r.verErr)
                        {
                            //version error
                            TacoManager.OpenModalIncorrectVersionPanel(r.message);
                        }
                        else
                        {
                            string msg = r.message;
                            if (string.IsNullOrEmpty(msg))
                            {
                                msg = TacoConfig.TacoLoginErrorEmailPassword;
                            }
                            TacoManager.OpenModalLoginFailedPanel(msg);
                        }
                    } catch (Exception) {
                        TacoManager.OpenModalLoginFailedPanel(TacoConfig.Error);
                    }
                }
                else
                {
                    TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
                }
                TacoManager.CloseMessage();
            };
            string url = "api/session/detail/" + TacoSetup.Instance.SiteId;

            StartCoroutine(ApiManager.Instance.GetWithToken(url, success, fail));
        }
Exemple #8
0
        public void ValidateUserOrEmail(string emailToCheck)
        {
            if (string.IsNullOrEmpty(emailToCheck))
            {
                if (next != null && string.IsNullOrEmpty(next.EmailInput.text) && next.IsInteractable())
                {
                    next.SetInteractable(false);
                }
                return;
            }

            if (next != null && !next.IsInteractable())
            {
                next.SetInteractable(true);
            }

            if (!TacoManager.ValidateEmail(emailToCheck))
            {
                ToggleEmailOkay(false);
                RemoveDuplidateError();
                errorMessage.text = TacoConfig.EnterInvalidEmailError;
                return;
            }

            if (reservedEmails.Contains(GetEmail()))
            {
                ToggleEmailOkay(false);
                RemoveDuplidateError();
                errorMessage.text = TacoConfig.EnterExistingEmailError;
                return;
            }

            Action <string> success = (string data) => {
                GameFeaturedResult r = JsonUtility.FromJson <GameFeaturedResult>(data);

                if (r.success)
                {
                    if (data.Contains("true"))
                    {
                        if (!ValidateDuplidateEmail(emailToCheck))
                        {
                            ToggleEmailOkay(false);
                            errorMessage.text = TacoConfig.EnterExistingEmailError;
                        }
                        else
                        {
                            ToggleEmailOkay(true);
                        }
                        RemoveDuplidateError();
                        previousValidEmailValue = emailToCheck;
                    }
                }
                else
                {
                    ToggleEmailOkay(false);
                    RemoveDuplidateError();

                    errorMessage.text = TacoConfig.NotInSystemEmailError;
                }
            };

            Action <string, string> fail = (string errorData, string error) => {
                Debug.Log("Error on get : " + errorData);
                if (!string.IsNullOrEmpty(error))
                {
                    Debug.Log("Error : " + error);
                }
                TacoManager.CloseMessage();
                //string msg = errorData + (string.IsNullOrEmpty (error) ? "" : " : " + error);
                TacoManager.OpenModalLoginFailedPanel(TacoConfig.TacoLoginErrorEmailPassword);
                //TacoManager.OpenModal (TacoConfig.TacoLoginErrorHeader, TacoConfig.TacoLoginErrorMessage01);
            };


            string url = "api/user/verify?u=" + emailToCheck;

            StartCoroutine(ApiManager.Instance.GetWithToken(url, success, fail));
        }