private void CalculateButton_OnClick()
        {
            KeyValuePair <int, int> bestHandIdAndScore = _boardController.GetBestHandIdAndScore();

            _gamePopupManager.Open <ResultScreen>();
            _gamePopupManager.Get <ResultScreen>().Setup(bestHandIdAndScore.Key, bestHandIdAndScore.Value);
        }
Пример #2
0
    private IEnumerator SyncUserHighscoreCoroutine(int newHighScore)
    {
        yield return(null);

        PopupManager.Get().CloseLoading();
        PlayerPrefs.SetInt("highscore", newHighScore);
        PlayerPrefs.Save();
    }
Пример #3
0
 public void ResetStatsButton_Pressed()
 {
     PopupManager.Get().NewQuestion(PopupType.Warning, "", "Reset Your Local and Server Stats?", (PopupQuestionResult result) =>
     {
         if (result == PopupQuestionResult.Accept)
         {
             PlayerPrefs.DeleteAll();
             StartCoroutine(TaskExtension.YieldWait(UserDatabase.Get().PostUserHighScore(0)));
         }
     });
 }
Пример #4
0
        private void RewardPlayer(PlayerState playerState)
        {
            int addResurrectionsCount = RewardManager.Give(playerState);

            PlayerStateStorage.Save(playerState);
            var popup = (ScreenSpacePopupView)PopupManager.Get(
                CommonPopupType);

            popup.Msg.text = Translator.Translate(
                "Notification.RewardEarn", addResurrectionsCount);
            PopupManager.Show(popup);
        }
Пример #5
0
    public void Accept()
    {
        if (oldPassword.text == "" || newPassword.text == "")
        {
            PopupSingleTextSingleOption.Data data = new PopupSingleTextSingleOption.Data("Password Error", "Please fill in both password fields", "Okay");
            PopupManager.Get().QueuePopup(EPopupTypes.SingleTextSingleOption, data);
            return;
        }

        DatabaseHandler.Get().ChangePassword(oldPassword.text, newPassword.text, PasswordChangeCallback);
        UICanvas.Get().TurnOnDarkenator();
    }
Пример #6
0
    public void SignOut()
    {
        if (!UserAuth.IsUserLoggedIn())
        {
            PopupManager.Get().NewMessage(PopupType.Error, "", "You are not Logged-in!");
            return;
        }

        PopupManager.Get().NewQuestion(PopupType.Warning, null, "If you Sign Out your local stats will be TERMINATIED!", (PopupQuestionResult result) =>
        {
            if (result == PopupQuestionResult.Accept)
            {
                UserAuth.Get().SignOut();
            }
        });
    }
Пример #7
0
        private void ShowMainScreen()
        {
            PlayerState playerState = PlayerStateStorage.Get();

            if (RewardManager.IsTimeToUnlock(playerState))
            {
                int unlockedRewardsCount = RewardManager.Unlock(playerState);
                var popup = (ScreenSpacePopupView)PopupManager.Get(
                    CommonPopupType);
                popup.Msg.text = Translator.Translate(
                    "Notification.RewardUnlock", unlockedRewardsCount);
                PopupManager.Show(popup);
            }

            playerState.LastSeenDate = DateTime.UtcNow;
            PlayerStateStorage.Save(playerState);
            MainScreen.GetComponent <ShowableView>().Show();
        }
Пример #8
0
    IEnumerator LoadUserDatas()
    {
        PopupManager.Get().OpenLoading("", "Loading...");

        Task <UserData[]> task = UserDatabase.Get().GetAllUserData();

        yield return(TaskExtension.YieldWait(task));

        if (task.IsCompleted)
        {
            UserData[] userDatas = task.Result;
            if (userDatas.Length > 0)
            {
                foreach (UserData userData in userDatas)
                {
                    ScoreBoardEntry entry = Instantiate(scoreBoardEntryPrefab, scoreBoardTable);
                    entry.Init(userData.iconURL, userData.name, userData.highScore);
                    scoreBoardEntries.Add(entry);
                }
            }
        }
        PopupManager.Get().CloseLoading();
    }
Пример #9
0
    public void SyncUserHighscore()
    {
        TaskScheduler taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();

        PopupManager.Get().OpenLoading("", "Synchronizing Your Data With Server...");
        int localHighScore = PlayerPrefs.GetInt("highscore", 0);

        ReceiveUserHighScore().ContinueWith(task =>
        {
            int serverHighScore = task.Result;
            if (serverHighScore != -1 && serverHighScore != localHighScore)
            {
                if (serverHighScore < localHighScore)
                {
                    PostUserHighScore(localHighScore).ContinueWith(t => { });
                }
                else
                {
                    localHighScore = serverHighScore;
                }
            }
            StartCoroutine(SyncUserHighscoreCoroutine(localHighScore));
        }, taskScheduler);
    }