package chess.pgn; import java.util.List; import chess.controller.CommandExecutor; import chess.controller.PlayerCommand; import chess.controller.event.GameAdapter; import common.Signal0; public class PgnSimulator extends GameAdapter { private final CommandExecutor commandExecutor; private final String pgn; public final Signal0 onComplete = new Signal0(); public PgnSimulator(CommandExecutor commandExecutor, String pgn) { this.commandExecutor = commandExecutor; this.pgn = pgn; } @Override public void onGameStart() { List cmds = PgnImport.importGame(this.pgn); this.commandExecutor.executeCommands(cmds); this.onComplete.emit(); } }