Skip to content

Commit 03ab613

Browse files
committed
feat: Removed the non-visible types restriction
Earlier, only public classes were included in the drop-down. This restriction was lifted.
1 parent efe90d2 commit 03ab613

File tree

1 file changed

+14
-30
lines changed

1 file changed

+14
-30
lines changed

Editor/Util/TypeCollector.cs

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using System;
44
using System.Collections.Generic;
55
using System.IO;
6-
using System.Linq;
76
using System.Reflection;
87
using TypeReferences;
98
using UnityEngine;
@@ -144,13 +143,23 @@ public static Assembly TryLoadAssembly(string assemblyName)
144143

145144
private static List<Type> GetFilteredTypesFromAssembly(Assembly assembly, TypeOptionsAttribute filter)
146145
{
147-
var visibleTypes = GetVisibleTypesFromAssembly(assembly);
146+
Type[] assemblyTypes;
147+
148+
try
149+
{
150+
assemblyTypes = assembly.GetTypes();
151+
}
152+
catch (ReflectionTypeLoadException e)
153+
{
154+
Debug.LogError($"Types could not be extracted from assembly {assembly}: {e.Message}");
155+
return new List<Type>(0);
156+
}
157+
148158
var filteredTypes = new List<Type>();
149-
int visibleTypesCount = visibleTypes.Count;
150159

151-
for (int i = 0; i < visibleTypesCount; i++)
160+
for (int i = 0; i < assemblyTypes.Length; i++)
152161
{
153-
Type type = visibleTypes[i];
162+
Type type = assemblyTypes[i];
154163

155164
if (FilterConstraintIsSatisfied(filter, type))
156165
{
@@ -161,31 +170,6 @@ private static List<Type> GetFilteredTypesFromAssembly(Assembly assembly, TypeOp
161170
return filteredTypes;
162171
}
163172

164-
private static List<Type> GetVisibleTypesFromAssembly(Assembly assembly)
165-
{
166-
try
167-
{
168-
var assemblyTypes = assembly.GetTypes();
169-
170-
var visibleTypes = new List<Type>(assemblyTypes.Length);
171-
172-
for (int i = 0; i < assemblyTypes.Length; i++)
173-
{
174-
Type type = assemblyTypes[i];
175-
176-
if (type.IsVisible)
177-
visibleTypes.Add(type);
178-
}
179-
180-
return visibleTypes;
181-
}
182-
catch (ReflectionTypeLoadException e)
183-
{
184-
Debug.LogError($"Types could not be extracted from assembly {assembly}: {e.Message}");
185-
return new List<Type>(0);
186-
}
187-
}
188-
189173
private static bool FilterConstraintIsSatisfied(TypeOptionsAttribute filter, Type type)
190174
{
191175
return filter == null || filter.MatchesRequirements(type);

0 commit comments

Comments
 (0)