Example #1
0
    public void useLightningBonus()
    {
        if (_playerData.damageBonusCount > 0)
        {
            if (_currentBonusTime >= gameBalanceData.damageBonusRechargeTime)
            {
                int explosionsCount = gameBalanceData.damageExplosionsBonusCount;
                if (gameLogicController._currentBlocks.Count < gameBalanceData.damageExplosionsBonusCount)
                {
                    explosionsCount = gameLogicController._currentBlocks.Count;
                }

                for (int explosionIndex = 0; explosionIndex < explosionsCount; explosionIndex++)
                {
                    GameObject firstBlock = gameLogicController._currentBlocks.Dequeue();
                    Destroy(firstBlock);
                }

                gameLogicController.startMoveUpBlocks();
                _currentBonusTime = 0;
                _playerData.damageBonusCount--;
            }
        }
        else
        {
            gameShopPopUp.SetActive(true);
            gameLogicController.pauseGame();
        }
    }
    public void getReward()
    {
        int explosionsCount = gameBalanceData.finalChanceExplosionsBonusCount;

        if (gameLogicController._currentBlocks.Count < explosionsCount)
        {
            explosionsCount = gameLogicController._currentBlocks.Count;
        }

        for (int explosionIndex = 0; explosionIndex < explosionsCount; explosionIndex++)
        {
            GameObject firstBlock = gameLogicController._currentBlocks.Dequeue();
            Destroy(firstBlock);
        }

        gameLogicController.startMoveUpBlocks();
        gameLogicController.resumeGame();
    }