Using a tile prefab for a match 3 game can't figure out why adding Adjacent methods are blocking me from swapping

public class Tile : MonoBehaviour
{
private static Color selectedColor = new Color(.5f, .5f, .5f, 1.0f);
private static Tile previousSelected = null;

private SpriteRenderer render;
private bool isSelected = false;

private Vector2[] adjacentDirections = new Vector2[] { Vector2.up, Vector2.down, Vector2.left, Vector2.right };
//private bool matchFound = false;
void Awake()
{
	render = GetComponent<SpriteRenderer>();
}

private void Select()
{
	isSelected = true;
	render.color = selectedColor;
	previousSelected = gameObject.GetComponent<Tile>();
}

private void Deselect()
{
	isSelected = false;
	render.color = Color.white;
	previousSelected = null;
}
void OnMouseDown()
{
	if (render.sprite == null || BoardManager.instance.IsShifting)
	{
		return;
	}

	if (isSelected)
	{ 
		Deselect();
	}
	else
	{
		if (previousSelected == null)
		{ 
			Select();
		}
		else
		{
			if (GetAllAdjacentTiles().Contains(previousSelected.gameObject))
			{ 
				SwapSprite(previousSelected.render);
				previousSelected.Deselect();
			}
			else
			{ 
				previousSelected.GetComponent<Tile>().Deselect();
				Select();
			}
		}
	}
}
public void SwapSprite(SpriteRenderer render2)
{ 
	if (render.sprite == render2.sprite)
	{ 
		return;
	}
	
	Sprite tempSprite = render2.sprite;
	render2.sprite = render.sprite;
	render.sprite = tempSprite;
}
private GameObject GetAdjacent(Vector2 castDir)
{
	RaycastHit2D hit = Physics2D.Raycast(transform.position, castDir);
	if (hit.collider != null)
	{
		return hit.collider.gameObject;
	}
	return null;
}
private List<GameObject> GetAllAdjacentTiles()
{
	List<GameObject> adjacentTiles = new List<GameObject>();
	for (int i = 0; i < adjacentDirections.Length; i++)
	{
		adjacentTiles.Add(GetAdjacent(adjacentDirections*));*
  •   }*
    
  •   return adjacentTiles;*
    
  • }*
    }

If any one else has the issue the raycast was hitting its own collider 176471-screenshot-11.png