void OnSquareClick(Grid position) { Console.WriteLine("Clicked"); ClearHighlighted(); ChessSquare clickedSquare = squares[position.row, position.column]; Piece clickedPiece = chess.ChessBoard.Board[position.row, position.column]; if (clickedSquare.label.Image != null && clickedPiece != null && clickedPiece.color == chess.Turn) { clickedSquare.Focus(); higlightedSquares.Add(clickedSquare); } List <PieceMove> moves = chess.GetMoves(position); if (moves.Count == 0) { return; } foreach (PieceMove move in moves) { ChessSquare square = squares[move.newPos.row, move.newPos.column]; square.HighlightLabel(chess.MakeMove, move); higlightedSquares.Add(square); } }