private static void ShowLoadGame(LoadGameMessage message) { GameRecording gr = null; try { OpenFileDialog dialog = new OpenFileDialog { Title = "Open Game", DefaultExt = ".pgn", Filter = "All Supported Files|*.pgn;*.sgf|Portable Game Notation|*.pgn|BoardSpace Smart Game Format|*.sgf", AddExtension = true }; if (dialog.ShowDialog(Application.Current.MainWindow).GetValueOrDefault()) { using (Stream inputStream = dialog.OpenFile()) { string fileName = dialog.SafeFileName; gr = Path.GetExtension(fileName).ToLower() == ".sgf" ? GameRecording.LoadSGF(inputStream, fileName) : GameRecording.LoadPGN(inputStream, fileName); } } } catch (Exception ex) { ExceptionUtils.HandleException(ex); } finally { message.Process(gr); } }
public SaveGameMessage(GameRecording gameRecording, Action <string> callback = null) : base() { GameRecording = gameRecording; Callback = callback; }
public void Process(GameRecording gameRecording) { Callback?.Invoke(gameRecording); }