private void LoadGame(string path) { using var stream = File.OpenRead(path); var buffer = new byte[stream.Length]; stream.Read(buffer); NewGame(TaikyokuShogi.Deserlialize(buffer)); }
public MainWindow() { InitializeComponent(); #if !DEBUG debugModeMenuItem.IsEnabled = false; #endif MouseMove += ShowPieceInfo; Closed += OnClose; corners.Add(borderTopLeft); corners.Add(borderTopRight); corners.Add(borderBottomLeft); corners.Add(borderBottomRight); borders.Add(borderTop); borders.Add(borderBottom); borders.Add(borderLeft); borders.Add(borderRight); foreach (var pieceId in (Enum.GetValues(typeof(PieceIdentity)) as PieceIdentity[]).OrderBy(piece => piece.Name())) { var blackMenuItem = new MenuItem() { Header = pieceId.Name() }; var whiteMenuItem = new MenuItem() { Header = pieceId.Name() }; pieceMenuItems.Add(blackMenuItem, new Piece(Player.Black, pieceId)); addBlackPieceMenuItem.Items.Add(blackMenuItem); pieceMenuItems.Add(whiteMenuItem, new Piece(Player.White, pieceId)); addWhitePieceMenuItem.Items.Add(whiteMenuItem); } TaikyokuShogi savedGame = null; try { savedGame = TaikyokuShogi.Deserlialize(Properties.Settings.Default.SavedGame); } catch (System.Text.Json.JsonException) { // silently ignore failure to parse the game } NewGame(savedGame); }