Variant constructor
const
Variant({
- required String name,
- String description = '',
- BoardSize boardSize = BoardSize.standard,
- required Map<
String, PieceType> pieceTypes, - CastlingOptions castlingOptions = CastlingOptions.none,
- PromotionOptions promotionOptions = PromotionOptions.standard,
- MaterialConditions<
String> materialConditions = MaterialConditions.none, - GameEndConditionSet gameEndConditions = GameEndConditionSet.standard,
- OutputOptions outputOptions = OutputOptions.standard,
- String? startPosition,
- StartPositionBuilder? startPosBuilder,
- bool enPassant = false,
- FirstMoveOptions firstMoveOptions = FirstMoveOptions.standard,
- int? halfMoveDraw,
- int? repetitionDraw,
- bool forbidChecks = false,
- ForcedCapture? forcedCapture,
- HandOptions handOptions = HandOptions.disabled,
- GatingMode gatingMode = GatingMode.none,
- Map<
String, int> ? pieceValues, - PassOptions passOptions = PassOptions.none,
- Map<
String, BoardRegion> regions = const {}, - List<
Action> actions = const [], - StateTransformer? stateTransformer,
- List<
MoveGenerator> moveGenerators = const [], - List<
MoveProcessor< moveProcessors = const [],Move> > - List<
MoveFormatter< moveFormatters = const [],Move> > - List<
BishopTypeAdapter> adapters = const [],
Implementation
const Variant({
required this.name,
this.description = '',
this.boardSize = BoardSize.standard,
required this.pieceTypes,
this.castlingOptions = CastlingOptions.none,
this.promotionOptions = PromotionOptions.standard,
this.materialConditions = MaterialConditions.none,
this.gameEndConditions = GameEndConditionSet.standard,
this.outputOptions = OutputOptions.standard,
this.startPosition,
this.startPosBuilder,
this.enPassant = false,
this.firstMoveOptions = FirstMoveOptions.standard,
this.halfMoveDraw,
this.repetitionDraw,
this.forbidChecks = false,
this.forcedCapture,
this.handOptions = HandOptions.disabled,
this.gatingMode = GatingMode.none,
this.pieceValues,
this.passOptions = PassOptions.none,
this.regions = const {},
this.actions = const [],
this.stateTransformer,
this.moveGenerators = const [],
this.moveProcessors = const [],
this.moveFormatters = const [],
this.adapters = const [],
}) : assert(
startPosition != null || startPosBuilder != null,
'Variant needs either a startPosition or startPosBuilder',
);