private void OnClickTileView(BoardTile sender, Vector2Int gridPosition)
    {
        if (!currentlySelectedPosition.HasValue)
        {
            return;
        }
        if (currentlySelectedPosition.Value == gridPosition)
        {
            return;
        }
        if (!checkerboard.IsValidMove(currentlySelectedPosition.Value, gridPosition))
        {
            return;
        }

        Vector2Int origin = currentlySelectedPosition.Value;
        Vector2Int target = gridPosition;

        ClearSelection();

        OnMoveRequest?.Invoke(this, origin, target);
    }