static FieldFactory() { foreach (var type in UtilityRefelection.GetAllTypes()) { UtilityAttribute.TryGetTypeAttribute(type, out FieldDrawerAttribute drawerAttribute); if (drawerAttribute == null) { continue; } AddDrawer(drawerAttribute.fieldType, type); } // щ(ºДºщ) ... AddDrawer(typeof(bool), typeof(Toggle)); AddDrawer(typeof(int), typeof(IntegerField)); AddDrawer(typeof(long), typeof(LongField)); AddDrawer(typeof(float), typeof(FloatField)); AddDrawer(typeof(double), typeof(DoubleField)); AddDrawer(typeof(string), typeof(TextField)); AddDrawer(typeof(Bounds), typeof(BoundsField)); AddDrawer(typeof(Color), typeof(ColorField)); AddDrawer(typeof(Vector2), typeof(Vector2Field)); AddDrawer(typeof(Vector2Int), typeof(Vector2IntField)); AddDrawer(typeof(Vector3), typeof(Vector3Field)); AddDrawer(typeof(Vector3Int), typeof(Vector3IntField)); AddDrawer(typeof(Vector4), typeof(Vector4Field)); AddDrawer(typeof(AnimationCurve), typeof(CurveField)); AddDrawer(typeof(Enum), typeof(EnumField)); AddDrawer(typeof(Gradient), typeof(GradientField)); AddDrawer(typeof(UnityEngine.Object), typeof(ObjectField)); AddDrawer(typeof(Rect), typeof(RectField)); }
static bool IsNodeAccessibleFromMenu(Type nodeType) { if (nodeType.IsAbstract) { return(false); } UtilityAttribute.TryGetTypeAttributes(nodeType, out var attributes); return(attributes.Any()); }
static void BuildNodeViewCache() { foreach (var nodeViewType in TypeCache.GetTypesDerivedFrom <BaseNodeView>()) { if (nodeViewType.IsAbstract) { continue; } UtilityAttribute.TryGetTypeAttribute <NodeCustomEditor>(nodeViewType, out var nodeCustomEditor); if (nodeCustomEditor != null) { nodeViewPerType[nodeCustomEditor.nodeType] = nodeViewType; } } }