private string GetAssemblyPathFromNamespace(string name)
{
var assemblyLookup = Path.Combine(ProjectSettings.MonoFolder, "assemblylookup.xml");
if (!File.Exists(assemblyLookup))
{
Debug.LogAlways("{0} did not exist!", assemblyLookup);
return null;
}
// Avoid reloading the xml file for every call
if(assemblyLookupDocument == null)
assemblyLookupDocument = XDocument.Load(assemblyLookup);
foreach(var node in assemblyLookupDocument.Descendants("Namespace"))
{
if(node.Attribute("name").Value.Equals(name))
{
string assemblyName = node.Parent.Attribute("name").Value;
foreach(var assembly in assemblies)
{
if(assembly.Contains(assemblyName))
{
assemblyName = assembly;
break;
}
}
}
}
return null;
}