generatePromotionMoves method
List<StandardMove> ?
generatePromotionMoves({
- required StandardMove base,
- required BishopState state,
- PieceType? pieceType,
Generates all possible moves for the base
move,
given state
and pieceType
.
Implementation
List<StandardMove>? generatePromotionMoves({
required StandardMove base,
required BishopState state,
PieceType? pieceType,
}) {
if (promotionBuilder == null) return null;
int piece = state.board[base.from].type;
pieceType ??= this.pieceType(piece, base.from);
if (!pieceType.promoOptions.canPromote) return null;
final params = PromotionParams(
move: base,
state: state,
variant: this,
pieceType: pieceType,
promoPieces: getPromoPieces(
state: state,
pieceType: pieceType,
pieceIndex: piece,
),
);
List<StandardMove>? moves = promotionBuilder!(params);
return moves;
}