using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using System.IO; namespace ProjectConverter.Platforms { public class AnxConverter : AbstractXna2AnxConverter { public AnxConverter() { // add default XNA references assemblyReferencesToAdd.Add("Microsoft.Xna.Framework"); assemblyReferencesToAdd.Add("Microsoft.Xna.Framework.Game"); assemblyReferencesToAdd.Add("Microsoft.Xna.Framework.Input"); assemblyReferencesToAdd.Add("Microsoft.Xna.Framework.Graphics"); } public override string Name { get { return "anx2xna"; } } protected internal override MappingDirection MappingDirection { get { return ProjectConverter.MappingDirection.Anx2Xna; } } protected override void ConvertProjectReference(XElement element) { XAttribute includeAttribute = element.Attribute("Include"); if (includeAttribute != null) { string reference = Path.GetFileNameWithoutExtension(includeAttribute.Value); // sometimes the node contains a relative path to the reference if (NamespaceMapper.IsProjectReference(MappingDirection, reference)) { string referenceAssembly = NamespaceMapper.GetReferencingAssemblyName(MappingDirection, reference); if (!string.IsNullOrEmpty(referenceAssembly)) { assemblyReferencesToAdd.Add(referenceAssembly); } element.Remove(); } } } protected internal override string ReplaceInlineNamespaces(string input) { return input.Replace("ANX.Framework.Game", "Microsoft.Xna.Framework.Game"); } } }