1
0
mirror of https://github.com/Siccity/xNode.git synced 2025-12-20 01:06:01 +08:00
xNode/Scripts/Editor/NodeEditorReflection.cs
2017-09-15 15:56:17 +02:00

23 lines
783 B
C#

using System.Reflection;
using System.Linq;
using System;
namespace UNEC {
/// <summary> Contains reflection-related info </summary>
public static class NodeEditorReflection {
public static Type[] nodeTypes { get { return _nodeTypes != null ? _nodeTypes : _nodeTypes = GetNodeTypes(); } }
private static Type[] _nodeTypes;
public static Type[] GetNodeTypes() {
//Get all classes deriving from Node via reflection
Type derivedType = typeof(Node);
Assembly assembly = Assembly.GetAssembly(derivedType);
return assembly.GetTypes().Where(t =>
t != derivedType &&
derivedType.IsAssignableFrom(t)
).ToArray();
}
}
}