makeMove method
Implementation
Future<void> makeMove(ShortMove move) async {
if (utils.isPromoting(fen, move)) {
final pieceType = await promotion;
if (pieceType.isSome()) {
final moveToDo = ShortMove(
from: move.from,
to: move.to,
promotion: Option.of(pieceType.getOrElse(() => PieceType.queen)),
);
_onMove(moveToDo);
_onPromotionCommited(moveDone: moveToDo);
return Future.value();
} else {
return Future.error("Move cancelled");
}
} else {
_onMove(move);
}
}