public MemberMenuData(InspectorData inspectorData, Object[] components) { this.inspectorData = inspectorData; this.components = new MemberMenuComponent[components.Length]; for (int i = 0; i < components.Length; i++) { int occurences = 1; if (componentOccurrences.ContainsKey(components[i].GetType())) { occurences = ++componentOccurrences[components[i].GetType()]; } else { componentOccurrences.Add(components[i].GetType(), occurences); } TargetFilter menuTargetFilters = TargetFilter.Static | TargetFilter.Dynamic; TargetTypeFilter menuTypeFilters = TargetTypeFilter.Any; if (inspectorData.filterAttribute != null) { menuTargetFilters = inspectorData.filterAttribute.targetFilters; menuTypeFilters = inspectorData.filterAttribute.typeFilters; } this.components[i] = new MemberMenuComponent(i, components[i], components[i].GetType().Name + (occurences > 1 ? (" " + (occurences - 1)) : ""), inspectorData.eventType, menuTargetFilters, menuTypeFilters); } }
public MemberMenuComponent(int index, Object component, string displayName, Type eventType, TargetFilter menuTargetFilters, TargetTypeFilter menuTypeFilters) { this.index = index; this.component = component; this.displayName = displayName; this.eventType = eventType; this.menuTargetFilters = menuTargetFilters; this.menuTypeFilters = menuTypeFilters; // Automatically create members list when new instance of this class is created CreateStaticMemberItems(GetValidStaticMembers()); CreateDynamicMemberItems(GetValidDynamicMembers()); }
public EventFilterAttribute(TargetFilter targetFilters, TargetTypeFilter typeFilters) { this.targetFilters = targetFilters; this.typeFilters = typeFilters; }
public bool FilterContains(TargetTypeFilter filterValue) { return((this.menuTypeFilters & filterValue) != 0); }