1
0
mirror of https://github.com/Siccity/xNode.git synced 2025-12-20 17:26:02 +08:00

optimized dll caching

This commit is contained in:
Joram 2018-06-18 20:52:58 +02:00
parent 0331bde4e1
commit 4bfb6c4b8b

View File

@ -53,8 +53,12 @@ namespace XNode {
// If xNode is not used as a DLL, check only CSharp (fast) // If xNode is not used as a DLL, check only CSharp (fast)
nodeTypes.AddRange(selfAssembly.GetTypes().Where(t => !t.IsAbstract && baseType.IsAssignableFrom(t))); nodeTypes.AddRange(selfAssembly.GetTypes().Where(t => !t.IsAbstract && baseType.IsAssignableFrom(t)));
} else { } else {
// Else, check all DDLs (slow) // Else, check all relevant DDLs (slower)
// ignore all unity related assemblies
foreach (Assembly assembly in assemblies) { foreach (Assembly assembly in assemblies) {
if (assembly.FullName.StartsWith("Unity")) continue;
// unity created assemblies always have version 0.0.0
if (!assembly.FullName.Contains("Version=0.0.0")) continue;
nodeTypes.AddRange(assembly.GetTypes().Where(t => !t.IsAbstract && baseType.IsAssignableFrom(t)).ToArray()); nodeTypes.AddRange(assembly.GetTypes().Where(t => !t.IsAbstract && baseType.IsAssignableFrom(t)).ToArray());
} }
} }