public void TryToDestroyRow()
    {
        // Destroys Row as soon as it is ready
        if (RowReadyToDestroy())
        {
            // then it destroys everything in this row
            DestroyRow();
            // We pass the time because if the difference between one row and the next row being destroyed is low then we know that they were
            // destroyed in the same move
            ActiveGame.AddPoints(time);
            ActiveGame.UpdateTime(time); // Updating time when the last row was destroyed

            // then it makes other blocks upstairs fall down
            TetrisDecrease(index + 1); // + 1 because we want to fall only that blocks which are higher than our destroyed one
        }
    }