Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 public SaveGameMessage(GameRecording gameRecording, Action <string> callback = null) : base()
 {
     GameRecording = gameRecording;
     Callback      = callback;
 }
Ejemplo n.º 3
0
 public void Process(GameRecording gameRecording)
 {
     Callback?.Invoke(gameRecording);
 }