public override void AddScore(List <Block> blocksToRemove, List <Block> blocksBombed, int seqMultiplier = 1)
    {
        if (_currentLevel > 1)
        {
            var blocksByColor = blocksToRemove.GroupBy(x => x.BlockObject.GetColor());
            foreach (var piece in blocksByColor)
            {
                if (piece.Count() > pieceSize)
                {
                    var blocks = piece.ToList();
                    while (blocks.Count >= pieceSize)
                    {
                        AddNewPiece(blocks.Take(pieceSize).ToList());
                        blocks.RemoveRange(0, pieceSize);
                    }
                }
                else
                {
                    AddNewPiece(piece.ToList());
                }
            }
        }

        var pieceCount = blocksToRemove.Count / pieceSize;

        var specialPieces     = blocksToRemove.Where(x => Math.Round(x.BlockObject.GetColor().r, 2) == 0.32).ToList();
        var specialPieceCount = specialPieces.Count / pieceSize;

        var scoreToAdd = (pieceCount + specialPieceCount) * (Math.Pow(2, pieceSize) * seqMultiplier);

        scoreToAdd += blocksBombed.Count * pieceSize;
        var newScore = ScoreController.AddScore((int)scoreToAdd);

        if (newScore >= _scoreToNextLevel)
        {
            _currentLevel      = LevelController.AddLevel();
            _scoreToNextLevel += _nextScoreAddition;
            _nextScoreAddition = (int)(_nextScoreAddition * 1.5);
            if (_currentLevel == 2)
            {
                StartCoroutine(RaisePieceSize());
                PieceSizeText.gameObject.GetComponent <Text>().text = "" + pieceSize;
            }
            if (_currentLevel == 5)
            {
                StartCoroutine(RaisePieceSize());
                PieceSizeText.gameObject.GetComponent <Text>().text = "" + pieceSize;
            }
            if (_currentLevel == 7)
            {
                ColorTetrisSpawnerController.AddNextColor();
                ColorTetrisSpawnerController.BombProb = 0.05f;
                //ColorTetrisSpawnerController.AddNextColor();
            }
            if (_currentLevel == 9)
            {
                StartCoroutine(RaisePieceSize());
                PieceSizeText.gameObject.GetComponent <Text>().text = "" + pieceSize;
            }
        }
    }
 void Start()
 {
     _colorTetrisSpawnerController = (ColorTetrisSpawnerController)SpawnerController;
 }