コード例 #1
0
        private void Start()
        {
            _loadingLayer.SetActive(true);
            Sound2DManager.Instance.StopBgm();
            var localHighscore   = PlayerPrefsHelper.GetHighScore();
            var serverHighscore  = NetworkCaller.Instance.PlayerData.HighestScore;
            var totalScore       = PlayerPrefsHelper.GetTotalScore();
            var serverTotalScore = NetworkCaller.Instance.PlayerData.TotalScore;

            if (localHighscore > serverHighscore || totalScore > serverTotalScore)
            {
                CheckScore(localHighscore, totalScore);
            }
            else
            {
                var playerData = NetworkCaller.Instance.PlayerData;
                _nameText.text  = playerData.Nickname;
                _scoreText.text = $"{ScoreUtil.FormatScore(playerData.HighestScore)}匹";
                _rankText.text  = playerData.Rank <= 0 ? "-位" : $"{ScoreUtil.FormatScore(playerData.Rank)}位";
                _avatar.sprite  = _skinSetting.GetSkinById(playerData.SkinId).skinAvatar;
                UpdateTopPlayers();
            }
        }
コード例 #2
0
        public bool IsUnlocked()
        {
            switch (UnlockActionName)
            {
            case PLAY:
                var playTimes = PlayerPrefsHelper.GetGamesPlayed();
                return(playTimes >= Condition);

            case WATCH_ADS:
                var watchAdsTimes = PlayerPrefsHelper.GetWatchAdsTimes();
                return(watchAdsTimes >= Condition);

            case DAYS_PLAYED:
                var daysPlayed = PlayerPrefsHelper.GetDaysPlayed();
                return(daysPlayed >= Condition);

            case HIGH_SCORE:
                var highScore = PlayerPrefsHelper.GetHighScore();
                return(highScore >= Condition);
            }

            return(false);
        }
コード例 #3
0
ファイル: HomeScene.cs プロジェクト: khanhlp315/PenguinCasual
 private void Start()
 {
     Sound2DManager.Instance.PlayBgm();
     _highscoreText.text = ScoreUtil.FormatScore(PlayerPrefsHelper.GetHighScore());
     Advertiser.AdvertisementSystem.ShowNormalBanner();
 }
コード例 #4
0
ファイル: GameScene.cs プロジェクト: khanhlp315/PenguinCasual
        private IEnumerator DelayAndShowEndGamePanel(bool isTimeout)
        {
            #if UNITY_EDITOR
            bool hasWatchAd = PlayerPrefsHelper.CanWatchAds();
#elif UNITY_IOS || UNITY_ANDROID
            bool hasWatchAd = PlayerPrefsHelper.CanWatchAds();
            if (hasWatchAd)
            {
                if (isTimeout)
                {
                    if (!Advertiser.AdvertisementSystem.IsTimeUpRewardAdsReady)
                    {
                        hasWatchAd = false;
                    }
                }
                else
                {
                    if (!Advertiser.AdvertisementSystem.IsDieRewardAdsReady)
                    {
                        hasWatchAd = false;
                    }
                }
            }
#endif
            if (isTimeout)
            {
                ShowTimeoutEffect(false, false);
            }

            yield return(new WaitForSeconds(0.5f));

            float delay = 0.5f;
            if (isTimeout)
            {
                _timeupImage.SetActive(true);
                delay = 2f;
                var image    = _timeupImage.GetComponent <Image>();
                var sequence = DOTween.Sequence();
                sequence.Append(image.DOColor(new Color(1, 1, 1, 0), 0.5f));
                sequence.Append(image.DOColor(new Color(1, 1, 1, 1), 0.5f));
                sequence.Append(image.DOColor(new Color(1, 1, 1, 0), 0.5f));
                sequence.Append(image.DOColor(new Color(1, 1, 1, 1), 0.5f));
            }
            else
            {
                Sound2DManager.Instance.PlayFishMoveEndGameSound();
                _endGameParticle.gameObject.SetActive(true);
                _endGameParticle.Play(true);
            }
            yield return(new WaitForSeconds(delay));

            _timeupImage.gameObject.SetActive(false);

            var highScore = PlayerPrefsHelper.GetHighScore();

            if (_currentScore > highScore)
            {
                PlayerPrefsHelper.UpdateHighScore((int)_currentScore);
                var totalScore = PlayerPrefsHelper.GetTotalScore();
                NetworkCaller.Instance.UpdateHighScore((int)_currentScore, totalScore, () =>
                {
                }, () =>
                {
                    NativeDialogManager.Instance.ShowScoreUpdateErrorDialog();
                });
                _newRecordPanel.SetScore(_currentScore);
                _newRecordPanel.gameObject.SetActive(true);
                yield return(new WaitForSeconds(2.0f));

                _newRecordPanel.gameObject.SetActive(false);
            }

            _gamePanel.SetActive(false);
            _endGamePanel.gameObject.SetActive(true);
            _endGamePanel.SetScore(_currentScore);
            _endGamePanel.SetIsGameEndedByDie(!isTimeout);

            if (hasWatchAd && !_hasAlreadyRevived)
            {
                _endGamePanel.ShowWithWatchAd();
            }
            else
            {
                _endGamePanel.ShowAsNormal();
            }
        }