static IEnumerable <Type> GetConstructableTypes(Type type) { if (TypeConstruction.CanBeConstructed(type)) { yield return(type); } foreach (var t in UnityEditor.TypeCache.GetTypesDerivedFrom(type).Where(TypeConstruction.CanBeConstructed)) { yield return(t); } }
static IEnumerable <Type> GetConstructableTypes <TType>() { if (TypeConstruction.CanBeConstructed <TType>()) { yield return(typeof(TType)); } foreach (var type in UnityEditor.TypeCache.GetTypesDerivedFrom <TType>().Where(TypeConstruction.CanBeConstructed)) { yield return(type); } }