예제 #1
0
 public TypeSelectorButton(
     ModularContent <GUIContent> guiContent,
     TypeSelectorDropdown <T> .OnSelectedCallback onTypeSelected,
     TypeSelectorDropdown <T> .PathSelector groupSelector = null
     )
 {
     this.guiContent = guiContent;
     selector        = new TypeSelectorDropdown <T>(onTypeSelected, groupSelector);
 }
 public static TypeSelectorButton Of <T>(
     ModularContent <GUIContent> guiContent,
     Action <Type> onTypeSelected,
     Func <Type, TypeSelectorGroup, TypeSelectorGroup> groupSelector = null,
     string noElementsFoundMessage = TypeSelectorPopupContent.DefaultNoElementsFoundMessage,
     ModularContent <GUILayoutOption[]> guiLayoutOptions = null)
 {
     return(new TypeSelectorButton(guiContent, onTypeSelected, groupSelector, noElementsFoundMessage,
                                   guiLayoutOptions, typeof(T)));
 }
        public TypeSelectorButton(
            ModularContent <GUIContent> guiContent,
            Action <Type> onTypeSelected,
            Func <Type, TypeSelectorGroup, TypeSelectorGroup> groupSelector = null,
            string noElementsFoundMessage = TypeSelectorPopupContent.DefaultNoElementsFoundMessage,
            ModularContent <GUILayoutOption[]> guiLayoutOptions = null,
            params Type[] validTypes
            )
        {
            this.guiContent       = guiContent;
            this.guiLayoutOptions = guiLayoutOptions ?? new GUILayoutOption[0];

            selector = new TypeSelectorPopupContent(
                () => lastRect.width,
                onTypeSelected,
                groupSelector,
                noElementsFoundMessage,
                validTypes
                );
        }