Chess.Domain.GameManager.IsKingInCheck C# (CSharp) Метод

IsKingInCheck() приватный Метод

private IsKingInCheck ( Team currentTeam, IEnumerable board ) : bool
currentTeam Team
board IEnumerable
Результат bool
        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;
        }