public void SaveGame(string filename) { XDocument saveGame = new XDocument(); using (XmlWriter writer = saveGame.CreateWriter()) { writer.WriteStartDocument(); writer.WriteStartElement("SaveGameData"); Galaxy.Save(writer); EmpireManager.Save(writer); writer.WriteEndElement(); writer.WriteEndDocument(); } try { string path = Path.Combine(GameDataSet.FullName, "Saves"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, filename + ".BB"); saveGame.Save(path); } catch (Exception e) { MessageBox.Show("Failed to save file, reason: " + e.Message); } }