private bool IsKingInCheck(Team currentTeam, IEnumerable<Square[]> board)
{
var enemy = GetOppositeTeam(currentTeam);
var squares = board.SelectMany(s => s);
var kingSquare = squares.First(sq => sq.ChessPiece != null
&& sq.ChessPiece.PieceType == PieceType.King
&& sq.ChessPiece.Team == currentTeam);
if (kingSquare.TargetedByTeam(_board.Squares, enemy))
return true;
return false;
}