makeMove method

Future<void> makeMove(
  1. ShortMove move
)

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);
  }
}