/* End gameplay */
        public void EndGameplay()
        {
            RaisePointerOnInputScroller();
            ExpireUnpauseProcess();
            DeactivatePauseButton();
            StopCountDownHeat();
            MarkGameStatsTrackerGameplayEnded();
            DeactivateGameplayUI();
            DeactivateHUD();
            StopTargetSpawn();
            // EnableRootScroller();
            // FrostRootElement();

            GameResultStats stats = CreateGameResultStats();

            MightWannaSaveDataHere(stats);

            ActivateMainMenu();
            HideTitle();
            ActivateEndGamePane();
            ResetEndGamePane();

            FeedEndGamePane(stats);
            StartEndSequence();

            Frost();

            IncrementInterstitialADManagerSessionCount();
        }
 void FeedEndGamePane(GameResultStats stats)
 {
     thisEndGamePane.FeedStats(
         stats.score,
         stats.highScore,
         stats.gainedCurrency,
         stats.scoreCurrencyBonus
         );
 }
        GameResultStats CreateGameResultStats()
        {
            int             score          = thisScoreManager.GetScore();
            int             highScore      = thisScoreManager.GetHighScore();
            int             gainedCurrency = thisCurrencyManager.GetGainedCurrency();
            GameResultStats stats          = new GameResultStats();

            stats.score              = score;
            stats.highScore          = highScore;
            stats.gainedCurrency     = gainedCurrency;
            stats.scoreCurrencyBonus = CalculateScoreCurrencyBonus(score);

            return(stats);
        }
Пример #4
0
        public void InitStats()
        {
            stats       = new GameStats();
            resultStats = new GameResultStats();
            IsGameEnd   = false;
            DomainEvents.Raise <OnPlayerStatsInit>(new OnPlayerStatsInit(attrs.HP, attrs.BasicMana));
            stats.CurrentHP   = attrs.HP;
            stats.CurrentMana = attrs.BasicMana;
            elapsedTime       = 0f;
            StartNewRound();
            var attackAttr = enemy.InitAttack();

            ExtraRoundDuration = attackAttr.Time;
            CaculateNextRoundDuration();
        }
        void MightWannaSaveDataHere(GameResultStats stats)
        {
            thisPlayerDataManager.SetFileIndex(0);
            if (!thisPlayerDataManager.PlayerDataIsLoaded())
            {
                thisPlayerDataManager.Load();
            }

            int currency    = thisPlayerDataManager.GetCurrency();
            int newCurrency = currency + stats.gainedCurrency + stats.scoreCurrencyBonus;

            thisPlayerDataManager.SetCurrency(newCurrency);

            int score     = stats.score;
            int highScore = thisPlayerDataManager.GetHighScore();

            if (score > highScore)
            {
                thisPlayerDataManager.SetHighScore(score);
            }

            thisPlayerDataManager.Save();
        }
Пример #6
0
 public OnGameEnd(GameResultStats result, bool isWin)
 {
     Result = result;
     IsWin  = isWin;
 }