Example #1
0
    public void CreatePlayerInfo(string playerName)
    {
        LocalDBController
        .DataService
        .Connection
        .DeleteAll <PlayerInfo>();
        LocalDBController
        .DataService
        .Connection
        .DeleteAll <PlayPuzzles>();
        LocalDBController
        .DataService
        .Connection
        .DeleteAll <UserPuzzle>();
        LocalDBController
        .DataService
        .Connection
        .DeleteAll <Purchases>();

        ZPlayerPrefs.DeleteAll();

        LocalDBController
        .InsertOrReplace(new PlayerInfo
        {
            Name = playerName,
        });
    }
    public void CheckPlayerInfo()
    {
        _playerInfo =
            LocalDBController
            .Table <PlayerInfo>()
            .FirstOrDefault();

        if (_playerInfo == null)
        {
            FollowMachine.SetOutput("No Player Info");
        }
        else if (_playerInfo.PlayerID == null || _playerInfo.PlayerID == -1)
        {
            if (_playerInfo.PlayerID == -1)
            {
                _playerInfo.PlayerID = null;
                LocalDBController.DeleteAll <PlayerInfo>();
                LocalDBController.InsertOrReplace(_playerInfo);
            }
            FollowMachine.SetOutput("No Player ID");
        }
        else
        {
            FollowMachine.SetOutput("Has Player ID");
        }
    }
Example #3
0
    public IEnumerator SyncPlayerInfo()
    {
        LocalDBController.DeleteAll <PlayerInfo>();
        LocalDBController.InsertOrReplace(_playerInfo);

        if (_playerInfo.PlayerID == null)
        {
            yield return(RegisterPlayerToServer());
        }
        if (_playerInfo.PlayerID != null)
        {
            yield return(ServerController.Post <string>(
                             $@"PlayerInfo/Update?id={GetPlayerID}",
                             _playerInfo,
                             // On Successfully connect to the account
                             respnse =>
            {
                if (respnse == "Success")
                {
                    _playerInfo.Dirty = false;
                }
            }));
        }

        LocalDBController.DeleteAll <PlayerInfo>();
        LocalDBController.InsertOrReplace(_playerInfo);
    }
Example #4
0
        public void FinishPuzzle(bool solved)
        {
            int duration = (int)(Time.time - _startTime);

            if (duration < 3)
            {
                return;
            }

            _currentPuzzle = new PlayPuzzles
            {
                Time       = DateTime.Now,
                PlayerID   = Singleton.Instance.PlayerController.GetPlayerID ?? -1,
                Duration   = duration,
                HintCount1 = Hint1,
                HintCount2 = Hint2,
                HintCount3 = Hint3,
                PuzzleID   = Singleton.Instance.WordSpawner.PuzzleID,
                MoveCount  = 0,
                Success    = solved,
                Dirty      = true
            };

            if (_currentPuzzle.PuzzleID != -1)
            {
                LocalDBController.InsertOrReplace(_currentPuzzle);
            }
        }
Example #5
0
    public void SaveToLocalDB()
    {
        LocalDBController
        .DataService
        .Connection.DeleteAll <PlayerInfo>();

        LocalDBController.InsertOrReplace(_playerInfo);
    }
Example #6
0
    public void RestoreUserPuzzles(List <UserPuzzle> userPuzzles)
    {
        // clear user puzzle table
        LocalDBController.DataService.Connection.DeleteAll <UserPuzzle>();

        foreach (UserPuzzle puzzle in userPuzzles)
        {
            LocalDBController.InsertOrReplace(puzzle);
        }
    }
Example #7
0
    public void UnlockCategoryPuzzles()
    {
        Purchases purchase = new Purchases
        {
            LastUpdate = DateTime.Now,
            PlayerID   = LocalDBController.Table <PlayerInfo>().FirstOrDefault().PlayerID,
            PurchaseID = "C-P-" + PlayingCategory.ID
        };

        LocalDBController.InsertOrReplace(purchase);
    }
    public void UnlockCategory()
    {
        Purchases purchase = new Purchases
        {
            LastUpdate = DateTime.Now,
            PlayerID   = LocalDBController.Table <PlayerInfo>().FirstOrDefault().PlayerID,
            PurchaseID = "C-" + _clickedCategory.ID,
            Dirty      = true
        };

        LocalDBController.InsertOrReplace(purchase);
    }
        private void UpdatePlayerId(int newplayerid)
        {
            List <Purchases> purchaseses = new List <Purchases>();

            purchaseses = LocalDBController.Table <Purchases>().ToList();
            LocalDBController.DeleteAll <Purchases>();
            foreach (Purchases purchases in purchaseses)
            {
                purchases.PlayerID = newplayerid;
                purchases.Dirty    = true;
                LocalDBController.InsertOrReplace(purchases);
            }
            StartCoroutine(SyncPurchases());
        }
Example #10
0
    public virtual void OnNewPlayerID()
    {
        LocalDBController
        .DataService
        .Connection.DeleteAll <PlayerInfo>();

        LocalDBController
        .InsertOrReplace(_playerInfo);

        if (_playerInfo.PlayerID != null)
        {
            NewPlayerID?.Invoke(_playerInfo.PlayerID.Value);
        }
    }
Example #11
0
        private void UpdatePlayerId(int newplayerid)
        {
            List <PlayPuzzles> table = new List <PlayPuzzles>();

            table = LocalDBController.Table <PlayPuzzles>().ToList();
            LocalDBController.DeleteAll <PlayPuzzles>();
            foreach (PlayPuzzles playPuzzle in table)
            {
                playPuzzle.PlayerID = newplayerid;
                playPuzzle.Dirty    = true;
                LocalDBController.InsertOrReplace(playPuzzle);
            }
            StartCoroutine(Sync());
        }
    private void AddCategories(JToken dataToken)
    {
        // Get new categories from json
        List <Category> newcategories = dataToken.Select(ct => ct.ToObject <Category>()).ToList();

        // Add or update local db
        foreach (Category newcategory in newcategories)
        {
            newcategory.Visit = false;

            LocalDBController.InsertOrReplace(newcategory);
        }

        CommandController.LastCmdTime = newcategories.Max(c => c.LastUpdate);
    }
Example #13
0
    public void AddPuzzle(UserPuzzle puzzle)
    {
        var userPuzzles = LocalDBController.Table <UserPuzzle>().ToList();

        if (userPuzzles.Count > 0)
        {
            puzzle.ID = userPuzzles.Max(p => p.ID) + 1;
        }
        else
        {
            puzzle.ID = 1;
        }

        LocalDBController.InsertOrReplace(puzzle);
    }
Example #14
0
 public override void Select()
 {
     if (IsCategoryAvalable())
     {
         if (!_category.Visit)
         {
             _category.Visit = true;
             LocalDBController.InsertOrReplace(_category);
         }
         base.Select();
     }
     else
     {
         ((LocalCategorySelectionWindow)_list).LockSelect(_category);
     }
 }
 public override void Select()
 {
     if (IsCategoryAvalable())
     {
         if (!_category.Visit)
         {
             _category.Visit = true;
             LocalDBController.InsertOrReplace(_category);
         }
         Singleton.Instance.Table.SetBackground(_iconIndex);
         base.Select();
     }
     else
     {
         ((LocalCategorySelectionWindow)_list).LockSelect(_category);
     }
 }
        public IEnumerator SyncPurchases()
        {
            var purchases = LocalDBController
                            .Table <Purchases>()
                            .SqlWhere(p => p.Dirty)
                            .SqlWhere(p => p.PlayerID != -1)
                            .ToList();

            if (purchases.Count == 0)
            {
                yield break;
            }
            string resualt = "";

            yield return(ServerController.Post <string>(
                             $@"Purchases/AddPurchases",
                             purchases,
                             respond =>
            {
                resualt = respond;
                //FollowMachine.SetOutput(respond);
            },
                             request =>
            {
                if (request.isNetworkError)
                {
                    //FollowMachine.SetOutput("No Network");
                    resualt = "No Network";
                }
                else if (request.isHttpError)
                {
                    //FollowMachine.SetOutput("Fail");
                    resualt = "Fail";
                }
            }));

            if (resualt == "Success")
            {
                purchases.ForEach(pp =>
                {
                    pp.Dirty = false;
                    LocalDBController.InsertOrReplace(pp);
                });
            }
        }
Example #17
0
    public void UnlockCategoryPuzzles()
    {
        int?playerID = null;

        playerID = Singleton.Instance.PlayerController.GetPlayerID;

        int?id = PuzzleList.PlayingCategory.ID;

        Purchases purchase = new Purchases
        {
            LastUpdate = DateTime.Now,
            PlayerID   = playerID,
            PurchaseID = "C-P-" + id,
            Dirty      = true
        };

        LocalDBController.InsertOrReplace(purchase);
    }
Example #18
0
    public void UpdatePuzzles(IEnumerable <IUpdatedUserPuzzle> updatedUserPuzzles)
    {
        foreach (var puzzleUpdate in updatedUserPuzzles)
        {
            var puzzle = new UserPuzzle
            {
                ID           = puzzleUpdate.ID,
                ServerID     = puzzleUpdate.ServerID,
                Clue         = puzzleUpdate.Clue,
                Rate         = puzzleUpdate.Rate,
                Content      = puzzleUpdate.Content,
                PlayCount    = puzzleUpdate.PlayCount,
                CategoryName = puzzleUpdate.CategoryName
            };

            LocalDBController.InsertOrReplace(puzzle);
        }
    }
Example #19
0
    public DateTime GetLastUpdate()
    {
        var lastUpdateRecord = LocalDBController.Table <LastTableUpdates>()
                               .FirstOrDefault(l => l.TableName == "UserPuzzles");

        if (lastUpdateRecord == null)
        {
            LocalDBController.InsertOrReplace(new LastTableUpdates
            {
                TableName  = "UserPuzzles",
                LastUpdate = DateTime.MinValue
            });
            return(DateTime.MinValue);
        }
        else
        {
            return(lastUpdateRecord.LastUpdate);
        }
    }
    public IEnumerator SyncPlayerInfo()
    {
        LocalDBController.DeleteAll <PlayerInfo>();
        LocalDBController.InsertOrReplace(_playerInfo);

        if (_playerInfo.PlayerID == null)
        {
            yield return(RegisterPlayer());
        }
        if (_playerInfo.PlayerID != null)
        {
            yield return(ServerController.Post <string>(
                             $@"PlayerInfo/Update?id={GetPlayerID}",
                             _playerInfo,
                             // On Successfully connect to the account
                             respnse =>
            {
                if (respnse == "Success")
                {
                    _playerInfo.Dirty = false;
                    LocalDBController.DeleteAll <PlayerInfo>();
                    LocalDBController.InsertOrReplace(_playerInfo);
                }
            }));

            string pusheId = FindObjectsOfType <Pushe>()[0].Pid;

            if (pusheId == "")
            {
                Debug.Log("no push id");
            }
            else
            {
                yield return(ServerControllerBase.Post <string>(
                                 $@"PushIDs/Update?playerID={_playerInfo.PlayerID}",
                                 pusheId,
                                 Debug.Log
                                 ));
            }
        }
    }
Example #21
0
    public override void OnInspectorGUI()
    {
        _databaseComponent = target as DatabaseComponent;

        #region ReloadAll

        if (GUILayout.Button("ReloadAll"))
        {
            // read all categories
            var categories = ServerEditor.Get <List <Category> >(@"Categories", "Download categories", "Download");

            if (categories == null)
            {
                return;
            }

            _databaseComponent.SetCategories(categories);

            // read all puzzles
            List <Puzzle> puzzles = ServerEditor.Get <List <Puzzle> >(@"Puzzles", "Download puzzles", "Download");

            if (puzzles == null)
            {
                return;
            }

            _databaseComponent.SetPuzzles(puzzles);

            // create game objects
            _databaseComponent.ReloadAll();
        }


        #endregion

        #region UpdateData All

        if (GUILayout.Button("UpdateData All"))
        {
            // Update categories
            var categoryComponents = _databaseComponent.GetComponentsInChildren <CategoryComponent>();

            foreach (var categoryComponent in categoryComponents)
            {
                if (categoryComponent.Dirty)
                {
                    CategoryEditor.UpdateServer(categoryComponent);
                }
            }

            //Update puzzles
            var puzzleComponents = _databaseComponent.GetComponentsInChildren <PuzzleComponent>();

            foreach (var puzzleComponent in puzzleComponents)
            {
                if (puzzleComponent.Dirty)
                {
                    PuzzleEditor.UpdateServer(puzzleComponent);
                }
            }
        }

        #endregion

        #region Sync localDB

        if (GUILayout.Button("Sync All with localDB"))
        {
            // read all categories
            var categories = ServerEditor.Get <List <Category> >(@"Categories", "Download categories", "Download");

            if (categories == null)
            {
                return;
            }

            // read all puzzles
            List <Puzzle> puzzles = ServerEditor.Get <List <Puzzle> >(@"Puzzles", "Download puzzles", "Download");

            if (puzzles == null)
            {
                return;
            }

            LocalDBController.DeleteAll <Category>();
            LocalDBController.DeleteAll <Puzzle>();

            foreach (Category category in categories)
            {
                LocalDBController.InsertOrReplace(category);
            }

            foreach (Puzzle puzzle in puzzles)
            {
                LocalDBController.InsertOrReplace(puzzle);
            }
        }

        #endregion
    }