private void btnLoad_Click(object sender, RoutedEventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Save Files (*.ags)|*.ags"; if (ofd.ShowDialog().Value) { FileStream fs = new FileStream(ofd.FileName, FileMode.Open); var sr = new StreamReader(fs); var xml = XElement.Parse(StringCompressor.DecompressString(sr.ReadToEnd())); sr.Close(); var mvm = MainViewModel.FromXML(xml, ofd.FileName); if (mvm.CurrentGame.CurrentRoom == null) { System.Windows.MessageBox.Show("Error:\nThe player's starting room was not found. It may have been deleted"); } else { var player = new MainPlayer(); mvm.OutputCurrentRoomDescription(); player.Show(); } this.Close(); } }
public void SaveGame() { Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog(); sfd.Filter = "Adventure Game Save Files (*.ags)|*.ags"; if (sfd.ShowDialog().Value) { FileStream fs = new FileStream(sfd.FileName, FileMode.Create); var sw = new StreamWriter(fs); sw.Write(StringCompressor.CompressString(ToXML(sfd.FileName).ToString())); sw.Flush(); sw.Close(); } }