Interface INodeOptionDefinition
Interface that provides methods to declare node options inside a node.
Namespace: Unity.GraphToolkit.Editor
Assembly: Unity.GraphToolkit.Common.Editor.dll
Syntax
public interface INodeOptionDefinition
Remarks
Use to add node options on nodes. Node options appear under the node header and in the inspector when a node is selected. They are appropriate for parameters that affect how a node behaves or changes its topology, such as modifying the number of ports.
Methods
AddNodeOption(string, Type, string, string, bool, int, Attribute[], object)
Adds a node option to the node.
Declaration
void AddNodeOption(string optionName, Type dataType, string optionDisplayName = null, string tooltip = null, bool showInInspectorOnly = false, int order = 0, Attribute[] attributes = null, object defaultValue = null)
Parameters
Type | Name | Description |
---|---|---|
string | optionName | The name of the node option, used for identification. |
Type | dataType | The data type of the node option. |
string | optionDisplayName | The name of the option shown in the UI, if specified. |
string | tooltip | The tooltip to display when hovering over the option in the UI. |
bool | showInInspectorOnly | If true, shows the option only in the Inspector. By default, the option is shown in the Inspector and on the node. |
int | order | The order index used to position this option relative to others. Lower values appear first. |
Attribute[] | attributes | An array of attributes to apply to the option field. |
object | defaultValue | The default value assigned to the option when the node is created. |
Remarks
Call this method in Node.OnDefineOptions
to declare node-level settings.
Use Node.GetNodeOptionByName(string)
or Node.GetNodeOption(int)
to retrieve the option.
The optionName
is unique within the node's input ports and node options.
Examples
protected override void OnDefineOptions(INodeOptionDefinition context)
{
context.AddNodeOption(
optionName: "Label",
dataType: typeof(string),
optionDisplayName: "My Label",
tooltip: "A label.",
defaultValue: "Default Value");
}
AddNodeOption<T>(string, string, string, bool, int, Attribute[], T)
Adds a node option to the node.
Declaration
void AddNodeOption<T>(string optionName, string optionDisplayName = null, string tooltip = null, bool showInInspectorOnly = false, int order = 0, Attribute[] attributes = null, T defaultValue = default)
Parameters
Type | Name | Description |
---|---|---|
string | optionName | The name of the node option, used for identification. |
string | optionDisplayName | The name of the option shown in the UI, if specified. |
string | tooltip | The tooltip to display when hovering over the option in the UI. |
bool | showInInspectorOnly | If true, shows the option only in the Inspector. By default, the option is shown in the Inspector and on the node. |
int | order | The order index used to position this option relative to others. Lower values appear first. |
Attribute[] | attributes | An array of attributes to apply to the option field. |
T | defaultValue | The default value assigned to the option when the node is created. |
Type Parameters
Name | Description |
---|---|
T | The data type of the node option. |
Remarks
Call this method in Node.OnDefineOptions
to declare node-level settings.
Use Node.GetNodeOptionByName(string)
or Node.GetNodeOption(int)
to retrieve the option.
The optionName
is unique within the node's input ports and node options.
Examples
protected override void OnDefineOptions(INodeOptionDefinition context)
{
context.AddNodeOption<string>(
optionName: "Label",
optionDisplayName: "My Label",
tooltip: "A label.",
defaultValue: "Default Value");
}