private string GenerateGameExplorerXML()
{
Game _game = Factory.AGSEditor.CurrentGame;
StringWriter sw = new StringWriter();
XmlTextWriter writer = new XmlTextWriter(sw);
writer.Formatting = Formatting.Indented;
writer.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\"");
writer.WriteStartElement("GameDefinitionFile");
writer.WriteAttributeString("xmlns:baseTypes", "urn:schemas-microsoft-com:GamesExplorerBaseTypes.v1");
writer.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:GameDescription.v1");
writer.WriteStartElement("GameDefinition");
writer.WriteAttributeString("gameID", _game.Settings.GUIDAsString);
writer.WriteElementString("Name", _game.Settings.GameName);
writer.WriteElementString("Description", _game.Settings.Description);
writer.WriteElementString("ReleaseDate", _game.Settings.ReleaseDate.ToString("yyyy-MM-dd"));
writer.WriteStartElement("Genres");
writer.WriteElementString("Genre", _game.Settings.Genre);
writer.WriteEndElement();
if (!string.IsNullOrEmpty(_game.Settings.SaveGameFolderName))
{
writer.WriteStartElement("SavedGames");
writer.WriteAttributeString("baseKnownFolderID", "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}");
writer.WriteAttributeString("path", _game.Settings.SaveGameFolderName);
writer.WriteEndElement();
}
writer.WriteStartElement("Version");
writer.WriteStartElement("VersionNumber");
writer.WriteAttributeString("versionNumber", _game.Settings.Version);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("WindowsSystemPerformanceRating");
writer.WriteAttributeString("minimum", _game.Settings.WindowsExperienceIndex.ToString());
writer.WriteAttributeString("recommended", _game.Settings.WindowsExperienceIndex.ToString());
writer.WriteEndElement();
if (!string.IsNullOrEmpty(_game.Settings.DeveloperName))
{
writer.WriteStartElement("Developers");
writer.WriteStartElement("Developer");
writer.WriteAttributeString("URI", _game.Settings.DeveloperURL);
writer.WriteString(_game.Settings.DeveloperName);
writer.WriteEndElement();
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.Flush();
string xml = sw.ToString();
writer.Close();
return xml;
}