void OnMouseDown()
    {
        // 1
        if (render.sprite == null || BoardManager_AI.instance.IsShifting)
        {
            return;
        }

        if (isSelected)
        { // 2 Is it already selected?
            Deselect();
        }
        else
        {
            if (previousSelected == null)
            { // 3 Is it the first tile selected?
                Select();
            }
            else
            {
                if (GetAllAdjacentTiles().Contains(previousSelected.gameObject))
                {                                        // 1
                    SwapSprite(previousSelected.render); // 2
                    previousSelected.ClearAllMatches();
                    previousSelected.Deselect();
                    ClearAllMatches();
                }
                else
                { // 3
                    previousSelected.GetComponent <Tile_AI>().Deselect();
                    Select();
                }
            }
        }
    }