Пример #1
0
    private void SelectFilteredExecute(bool includeTotalCount)
    {
        EasyTableQueryHelper <Highscore> queryHelper = new EasyTableQueryHelper <Highscore>();

        string pn    = "d";
        var    query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score);

        if (includeTotalCount)
        {
            query = query.IncludeTotalCount();
        }

        EasyTables.Instance.SelectFiltered <Highscore>(query, x =>
        {
            if (x.Status == CallBackResult.Success)
            {
                foreach (var item in x.Result.results)
                {
                    Debug.Log(string.Format("ID is {0},score is {1}", item.id, item.score));
                }
                if (includeTotalCount)
                {
                    StatusText.text = string.Format("Brought {0} rows out of {1}", x.Result.results.Count(), x.Result.count);
                }
                else
                {
                    StatusText.text = string.Format("Brought {0} rows", x.Result.results.Count());
                }
            }
            else
            {
                ShowError(x.Exception.Message);
            }
        });
        StatusText.text = "Loading...";
    }
Пример #2
0
    public void RegisterUser(string username, string password)
    {
        User newUser = new User();

        newUser.username     = username;
        newUser.password     = password;
        newUser.checkpointID = 0;

        EasyTableQueryHelper <User> queryHelper = new EasyTableQueryHelper <User>();

        //var query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score);
        var query = queryHelper.Where(selectResponse => selectResponse.username.Contains(newUser.username));

        EasyTables.Instance.SelectFiltered <User>(query, selectResponse =>
        {
            if (selectResponse.Status == CallBackResult.Success)
            {
                //  if username doesn't exists in the database... register user
                if (!IsUsernameInDatabase(ref selectResponse, ref newUser.username))
                {
                    //InsertUserIntoDatabase(newUser);
                    //  Insert newUser into the database
                    EasyTables.Instance.Insert(newUser, insertResponse =>
                    {
                        if (insertResponse.Status == CallBackResult.Success)
                        {
                            //Debug.Log(string.Format("ID is {0}, username is {1}, password is {2}, checkpointID is {3}",
                            //    user.id, user.username, user.password, user.checkpointID));

                            //string result = "Registration completed";
                            //Debug.Log(result);

                            //StatusText.text = "Registration successful!";
                            if (OnRegistered != null)
                            {
                                OnRegistered();
                            }
                            if (OnStatusUpdate != null)
                            {
                                OnStatusUpdate("Registration successful");
                            }
                        }
                        else
                        {
                            Debug.Log(insertResponse.Exception.Message);
                        }
                    });
                }
                else
                if (OnStatusUpdate != null)
                {
                    OnStatusUpdate("Username not available");
                }
                //StatusText.text = "Username already taken!";
            }
            else
            {
                Debug.Log(selectResponse.Exception.Message);
            }
        });
    }
Пример #3
0
    public void LoginUser(string username, string password)
    {
        EasyTableQueryHelper <User> queryHelper = new EasyTableQueryHelper <User>();

        //var query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score);
        var query = queryHelper.Where(selectResponse => selectResponse.username.Contains(username));

        EasyTables.Instance.SelectFiltered <User>(query, selectResponse =>
        {
            if (selectResponse.Status == CallBackResult.Success)
            {
                //  if username/password does exists in the database... log in user
                bool inputAcceptable = false;
                foreach (var item in selectResponse.Result.results)
                {
                    //  Check for the usernames found that only match the input username exactly
                    if (item.username.Equals(username, StringComparison.Ordinal))
                    {
                        if (item.password.Equals(password, StringComparison.Ordinal))
                        {
                            inputAcceptable = true;

                            IsLoggedIn = true;

                            CurrentUser.username     = item.username;
                            CurrentUser.password     = item.password;
                            CurrentUser.checkpointID = item.checkpointID;
                            CurrentUser.databaseID   = item.id;
                            //Debug.Log("updated ingame user data checkpoint: " + CurrentUser.checkpointID);

                            break;
                        }
                    }
                }

                if (inputAcceptable)
                {
                    //StatusText.text = "Login successful!";
                    //Debug.Log("Logged in event");
                    if (OnStatusUpdate != null)
                    {
                        OnStatusUpdate("Login successful");
                    }
                    if (OnLoggedIn != null)
                    {
                        OnLoggedIn();
                    }
                }
                else
                if (OnStatusUpdate != null)
                {
                    OnStatusUpdate("Username or password is incorrect!");
                }
                //StatusText.text = "Username or password is inccorect!";
            }
            else
            {
                Debug.Log(selectResponse.Exception.Message);
            }
        });
    }