Merge pull request #56 from theo-rapidfire/fix/use-type-cache

Performance improvement: Use TypeCache instead of manual type iteration
This commit is contained in:
Makihiro 2024-04-01 16:02:36 +09:00 committed by GitHub
commit 2b40c3d26e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -27,9 +27,8 @@ namespace MackySoft.SerializeReferenceExtensions.Editor
{ {
Type[] interfaceTypes = type.GetInterfaces(); Type[] interfaceTypes = type.GetInterfaces();
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) var types = TypeCache.GetTypesWithAttribute<CustomPropertyDrawer>();
{ foreach (Type drawerType in types)
foreach (Type drawerType in assembly.GetTypes())
{ {
var customPropertyDrawerAttributes = drawerType.GetCustomAttributes(typeof(CustomPropertyDrawer), true); var customPropertyDrawerAttributes = drawerType.GetCustomAttributes(typeof(CustomPropertyDrawer), true);
foreach (CustomPropertyDrawer customPropertyDrawer in customPropertyDrawerAttributes) foreach (CustomPropertyDrawer customPropertyDrawer in customPropertyDrawerAttributes)
@ -75,7 +74,6 @@ namespace MackySoft.SerializeReferenceExtensions.Editor
} }
} }
} }
}
return null; return null;
} }