public void HasUserPuzzle()
 {
     FollowMachine.SetOutput(
         !LocalDBController.Table <UserPuzzle>().Any() &&
         LocalDBController.Table <PlayPuzzles>().Count() > 10 &&
         Random.Range(0, 100) > 70 ? "Yes" : "No");
 }
Example #2
0
    public void ShowLastPlayedPuzzle()
    {
        int lastPuzzleID = ZPlayerPrefs.GetInt("LastPlayedPuzzle");

        if (lastPuzzleID == 0)
        {
            FollowMachine.SetOutput("No Last Puzzle");
            return;
        }

        Puzzle puzzle = LocalDBController.Table <Puzzle>().
                        SqlWhere(p => p.ID == lastPuzzleID).
                        FirstOrDefault();

        int?categoryID = puzzle?.CategoryID;

        if (categoryID != null)
        {
            int      id       = categoryID.Value;
            Category category =
                LocalDBController.
                Table <Category>().
                SqlWhere(c => c.ID == id).
                FirstOrDefault();

            Debug.Log(category.ID);
            PuzzleList.CategoryWindow.Select(category);
            FollowMachine.SetOutput("Play");
            return;
        }
        FollowMachine.SetOutput("No Last Puzzle");
    }
Example #3
0
    public void OnEnable()
    {
        PlayerInfo info = LocalDBController.Table <PlayerInfo>().FirstOrDefault();

        GetComponent <Text>().text = PersianFixer.Fix(info.Name);
        IDText.text = "ID: # " + info.PlayerID;
    }
 public List <UserPuzzle> GetUnregisteredPuzzles()
 {
     return(LocalDBController
            .Table <UserPuzzle>()
            .SqlWhere(p => p.ServerID == null)
            .ToList());
 }
    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");
        }
    }
    public IEnumerator FeedBack(float star)
    {
        string s  = ((int)star).ToString();
        int?   id = Singleton.Instance.PlayerController.GetPlayerID;

        if (!id.HasValue)
        {
            FollowMachine.SetOutput("Fail");
            yield break;
        }

        string trim = ServerRespond["Creator"].ToString().Trim();

        if (LocalDBController.Table <PlayerInfo>().FirstOrDefault().Name.Trim() == trim)
        {
            FollowMachine.SetOutput("Fail");
            yield break;
        }

        yield return(ServerController
                     .Post <string>($@"PuzzleRates/RegisterFeedback?puzzleID={_pID}&playerID={id}&star={s}",
                                    null,
                                    r => { FollowMachine.SetOutput("Success"); },
                                    request => { FollowMachine.SetOutput(request.isNetworkError ? "Network Error" : "Fail"); }
                                    ));
    }
Example #7
0
 public void Back()
 {
     if (PlayingCategory.ParentID != null)
     {
         CategoryWindow.Select(
             LocalDBController.Table <Category>().SqlWhere(c => c.ID == PlayingCategory.ParentID).ToList()[0]//.ElementAt(_playingCategory.ParentID.Value)
             );
     }
 }
Example #8
0
    public override void Refresh()
    {
        PlayingCategory   = CategoryWindow.SelectedCategory;
        CategoryName.text = PlayingCategory != null?PersianFixer.Fix(PlayingCategory.Name) : PersianFixer.Fix("جدول های اصلی");

        var puzzles = LocalDBController.Table <Puzzle>().SqlWhere(p => p.CategoryID == PlayingCategory.ID).ToList();

        puzzles.Sort((p1, p2) => p1.Row.CompareTo(p2.Row));
        UpdateItems(puzzles.Cast <object>());
    }
 public void ListToShow()
 {
     if (LocalDBController.Table <Category>().SqlWhere(c => c.ParentID == SelectedCategory.ID).ToList().Count == 0)
     {
         FollowMachine.SetOutput("Puzzle List");
     }
     else
     {
         FollowMachine.SetOutput("Child Category List");
     }
 }
Example #10
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);
    }
Example #11
0
    public void SendPuzzlesToServer()
    {
        List <Puzzle> puzzles = new List <Puzzle>();

        puzzles.AddRange(LocalDBController.Table <Puzzle>().ToList());
        Debug.Log(puzzles.Count);

        foreach (Puzzle p in puzzles)
        {
            ServerEditor.Post(@"Puzzles/Create", p, "Update Puzzle", "Update");
        }
    }
    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);
    }
Example #13
0
    public void ShouldLike()
    {
        if (PlayerPrefs.GetInt("Liked", 0) == 0 &&
            LocalDBController.Table <PlayPuzzles>().Count() > 20 &&
            Random.Range(0.1f, 1f) > 0.5f &&
            GetComponent <CheckMarket>().BazzarMarket)
        {
            FollowMachine.SetOutput("Yes");
            return;
        }

        FollowMachine.SetOutput("No");
    }
        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 #15
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());
        }
Example #16
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 #17
0
    public void PuzzleSolved()
    {
        var puzzles = LocalDBController.Table <Puzzle>().
                      SqlWhere(p => p.CategoryID == _puzzle.CategoryID);

        Puzzle nextPuzzle = puzzles.FirstOrDefault(p => p.Row == _puzzleIndex);

        if (nextPuzzle == null || nextPuzzle.Solved)
        {
            FollowMachine.SetOutput("No Next Puzzle");
            return;
        }

        FollowMachine.SetOutput("Play Next");
    }
Example #18
0
    private IEnumerator FlashOutLocalLogins()
    {
        List <LogIn> logIns =
            LocalDBController.Table <LogIn>().ToList();

        yield return(ServerController.Post <int>(
                         @"/api/Login/AddRange",
                         logIns,
                         r =>
        {
            if (logIns.Count == r)
            {
                LocalDBController.DeleteAll <LogIn>();
            }
        }));
    }
    public override void Refresh()
    {
        int?parentID = 3;

        if (SelectedCategory != null)
        {
            parentID = SelectedCategory?.ID;
        }


        var categories = LocalDBController.Table <Category>().SqlWhere(c => c.ParentID == parentID).ToList();

        categories.Sort((p1, p2) => p1.Row.CompareTo(p2.Row));
        CategoryName.text = SelectedCategory != null?PersianFixer.Fix(SelectedCategory.Name) : PersianFixer.Fix("جدول های اصلی");

        UpdateItems(categories.Cast <object>());
    }
        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);
                });
            }
        }
    protected override void Refresh(object data)
    {
        _category = (Category)data;
        //_avalable = IsCategoryAvalable(category);

        Name.text = PersianFixer.Fix(_category.Name);
        NewIconGameObject.SetActive(!_category.Visit);

        _iconIndex  = int.Parse(_category.Icon);
        Icon.sprite = Sprites[_iconIndex];


        if (LocalDBController.Table <Category>().SqlWhere(c => c.ParentID == _category.ID).Any())
        {
            SubCategoryGameObject.SetActive(true);
            CheckMarckGameObject.SetActive(false);
            BuyGameObject.SetActive(false);
            CounterText.gameObject.SetActive(false);
            GetComponent <RectTransform>().localScale = Vector3.one;
            return;
        }

        SubCategoryGameObject.SetActive(false);

        var puzzles = LocalDBController.Table <Puzzle>().SqlWhere(p => p.CategoryID == _category.ID).ToList();

        var solveCount = puzzles.Count(p => p.Solved);

        BuyGameObject.SetActive(!IsCategoryAvalable());

        CheckMarckGameObject.SetActive(_category.Completed);
        CounterText.gameObject.SetActive(!_category.Completed);

        if (!IsCategoryAvalable())
        {
            CounterText.text = string.Format(PersianFixer.Fix("300", true, true));
        }
        else
        {
            CounterText.text =
                $"{PersianFixer.Fix(solveCount.ToString(), true, true)}/{PersianFixer.Fix(puzzles.Count.ToString(), true, true)}";
        }

        GetComponent <RectTransform>().localScale = Vector3.one;
    }
Example #22
0
    private bool IsCategoryAvalable()
    {
        if (_category.PrerequisiteID != null)
        {
            Category preCat = LocalDBController.Table <Category>().FirstOrDefault(c => c.ID == _category.PrerequisiteID);

            if (preCat != null)
            {
                if (preCat.Completed)
                {
                    return(true);
                }

                return(_category.IsPurchased);
            }
        }

        return(_category.IsPurchased || _category.Price == 0);
    }
Example #23
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);
        }
    }
Example #24
0
    public void SendCategoriesToServer()
    {
        List <Category> cats = new List <Category>();

        cats.AddRange(LocalDBController.Table <Category>().ToList());

        while (cats.Any())
        {
            foreach (Category c in cats)
            {
                if (c.PrerequisiteID == null || cats.FirstOrDefault(t => t.ID == c.PrerequisiteID) == null)
                {
                    if (c.ParentID == null || cats.FirstOrDefault(t => t.ID == c.ParentID) == null)
                    {
                        ServerEditor.Post(@"Categories/Create", c, "Update category", "Update");
                        cats.Remove(c);
                        break;
                    }
                }
            }
        }
    }
Example #25
0
    public void SetPuzzle()
    {
        _puzzle = LocalDBController
                  .Table <Puzzle>()
                  .FirstOrDefault(p => p.CategoryID == 2044 && p.Row == _puzzleIndex);
        if (_puzzle == null)
        {
            FollowMachine.SetOutput("No Next Puzzle");
            return;
        }

        SetForSpawn(_puzzle);

        _puzzleIndex++;

        if (Singleton.Instance.WordSpawner.PuzzleReward)
        {
            ZPlayerPrefs.SetInt("LastPlayedPuzzle", _puzzle.ID);
        }

        FollowMachine.SetOutput("Play Next");
    }
Example #26
0
    public void CheckPlayerInfo()
    {
        _playerInfo =
            LocalDBController
            .Table <PlayerInfo>()
            .FirstOrDefault();

        if (_playerInfo == null)
        {
            FollowMachine.SetOutput("No Player Info");
        }
        else if (_playerInfo.PlayerID == null)
        {
            FollowMachine.SetOutput("No Player ID");
        }
        else if (!_playerInfo.Dirty)
        {
            FollowMachine.SetOutput("Has Player ID");
        }
        else if (_playerInfo.Dirty)
        {
            FollowMachine.SetOutput("Not Sync");
        }
    }
Example #27
0
    public void PuzzleSolved()
    {
        _playingPuzzle = PuzzleList.PlayingPuzzle;

        if (Singleton.Instance.WordSpawner.PuzzleReward)
        {
            ZPlayerPrefs.SetInt("LastPlayedPuzzle", _playingPuzzle.ID);
        }


        var puzzles = LocalDBController.Table <Puzzle>().
                      SqlWhere(p => p.CategoryID == _playingPuzzle.CategoryID);

        Puzzle nextPuzzle = puzzles.FirstOrDefault(p => p.Row == _playingPuzzle.Row + 1);

        if (nextPuzzle == null || nextPuzzle.Solved)
        {
            FollowMachine.SetOutput("No Next Puzzle");
            return;
        }

        PuzzleList.SetForSpawn(nextPuzzle);
        FollowMachine.SetOutput("Play Next");
    }
    public void Back()
    {
        if (SelectedCategory == null || SelectedCategory.ParentID == 3)
        {
            FollowMachine.SetOutput("ExitLocalPuzzles");
        }
        else
        {
            if (SelectedCategory.ParentID == null)
            {
                //Select((Category)null);
                FollowMachine.SetOutput("ExitLocalPuzzles");
                return;
            }

            Category pc =
                LocalDBController.Table <Category>()
                .SqlWhere(c => c.ID == SelectedCategory.ParentID)
                .ToList()[0];

            Select(pc);
            FollowMachine.SetOutput("CategoryParent");
        }
    }
 public void Refresh()
 {
     var categories = LocalDBController.Table<Category>().ToList();
     categories.Sort((p1, p2) => p1.Row.CompareTo(p2.Row));
     UpdateItems(categories.Cast<object>());
 }
Example #30
0
 public UserPuzzle Refresh(UserPuzzle puzzle)
 {
     return(LocalDBController.Table <UserPuzzle>()
            .FirstOrDefault(p => p.ID == puzzle.ID));
 }