示例#1
0
        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);
            }
        }
示例#2
0
 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());
 }
示例#3
0
 public EventFilterAttribute(TargetFilter targetFilters, TargetTypeFilter typeFilters)
 {
     this.targetFilters = targetFilters;
     this.typeFilters   = typeFilters;
 }
示例#4
0
 public bool FilterContains(TargetTypeFilter filterValue)
 {
     return((this.menuTypeFilters & filterValue) != 0);
 }