Пример #1
0
 public void SaveGame()
 {
     using (FileDialog dialog = new SaveFileDialog())
     {
         dialog.Filter = DialogFileFilter;
         if (dialog.ShowDialog() == DialogResult.OK)
         {
             serializer.Serialize(board, dialog.FileName);
         }
     }
 }
Пример #2
0
        public void SaveAll()
        {
            if (saveWorker != null)
            {
                return;
            }

            SaveDialogWIndow window = new SaveDialogWIndow();

            window.FilesToSave = GameList.Count;
            window.Show();

            saveWorker = new BackgroundWorker();
            saveWorker.WorkerReportsProgress = true;
            saveWorker.DoWork += (object sender, DoWorkEventArgs e) =>
            {
                int i = 0;
                foreach (Game game in GameList)
                {
                    string path = Path.Combine("./games", game.FileName);

                    if (File.Exists(path))
                    {
                        File.Delete(path);
                    }

                    GameSerializer.Serialize(game, path);

                    saveWorker.ReportProgress(++i);

                    Thread.Sleep(1000);
                }
            };

            saveWorker.ProgressChanged += (object sender, ProgressChangedEventArgs e) =>
            {
                window.FilesSaved = e.ProgressPercentage;
            };

            saveWorker.RunWorkerCompleted += (object sender, RunWorkerCompletedEventArgs e) =>
            {
                window.Close();
                saveWorker = null;
            };
            saveWorker.RunWorkerAsync();
        }