Interface IElementAdderMenuBuilder<TContext>
Interface for building an IElementAdderMenu.
Namespace: Unity.VisualScripting.ReorderableList.Element_Adder_Menu
Syntax
public interface IElementAdderMenuBuilder<TContext>
Type Parameters
| Name | Description | 
|---|---|
| TContext | Type of the context object that elements can be added to.  | 
Methods
AddCustomCommand(IElementAdderMenuCommand<TContext>)
Adds a custom command to the menu.
Declaration
void AddCustomCommand(IElementAdderMenuCommand<TContext> command)
Parameters
| Type | Name | Description | 
|---|---|---|
| IElementAdderMenuCommand<TContext> | command | The custom command.  | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | If   | 
AddTypeFilter(Func<Type, Boolean>)
Adds a filter function which determines whether types can be included or whether they need to be excluded.
Declaration
void AddTypeFilter(Func<Type, bool> typeFilter)
Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Type, Boolean> | typeFilter | Filter function.  | 
Remarks
If a filter function returns a value of false then that type
will not be included in the menu interface.
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | If   | 
GetMenu()
Builds and returns a new IElementAdderMenu instance.
Declaration
IElementAdderMenu GetMenu()
Returns
| Type | Description | 
|---|---|
| IElementAdderMenu | A new IElementAdderMenu instance each time the method is invoked.  | 
SetContractType(Type)
Sets contract type of the elements that can be included in the IElementAdderMenu.
Only non-abstract class types that are assignable from the contractType
will be included in the built menu.
Declaration
void SetContractType(Type contractType)
Parameters
| Type | Name | Description | 
|---|---|---|
| Type | contractType | Contract type of addable elements.  | 
SetElementAdder(IElementAdder<TContext>)
Set the IElementAdder<TContext> implementation which is used when adding new elements to the context object.
Declaration
void SetElementAdder(IElementAdder<TContext> elementAdder)
Parameters
| Type | Name | Description | 
|---|---|---|
| IElementAdder<TContext> | elementAdder | Element adder.  | 
Remarks
Specify a value of null for elementAdder to
prevent the selection of any types.
SetTypeDisplayNameFormatter(Func<Type, String>)
Set the function that formats the display of type names in the user interface.
Declaration
void SetTypeDisplayNameFormatter(Func<Type, string> formatter)
Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Type, String> | formatter | Function that formats display name of type; or   | 
Remarks
Specify a value of null for formatter to
assume the default formatting function.