Interface IUnit
Represents a unit within a flow graph, defining its behavior, ports, connections, and visualization in the graph editor.
Inherited Members
Namespace: Unity.VisualScripting
Assembly: Unity.VisualScripting.Flow.dll
Syntax
public interface IUnit : IGraphElementWithDebugData, IGraphElement, IGraphItem, INotifiedCollectionItem, IDisposable, IPrewarmable, IAotStubbable, IIdentifiable, IAnalyticsIdentifiable
Properties
canDefine
Gets a value indicating whether this unit can be defined.
Declaration
bool canDefine { get; }
Property Value
Type | Description |
---|---|
bool |
connections
Gets all connections associated with this unit.
Declaration
IEnumerable<IUnitConnection> connections { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
controlInputs
Gets the collection of control input ports for this unit.
Declaration
IUnitPortCollection<ControlInput> controlInputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
controlOutputs
Gets the collection of control output ports for this unit.
Declaration
IUnitPortCollection<ControlOutput> controlOutputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
defaultValues
Gets a dictionary of default values used by the unit. The keys represent port names, and the values represent their corresponding defaults.
Declaration
Dictionary<string, object> defaultValues { get; }
Property Value
Type | Description |
---|---|
Dictionary<string, object> |
definitionException
Gets the exception that occurred during the definition process, if the unit failed to define.
Declaration
Exception definitionException { get; }
Property Value
Type | Description |
---|---|
Exception |
failedToDefine
Gets a value indicating whether this unit failed to define.
Declaration
bool failedToDefine { get; }
Property Value
Type | Description |
---|---|
bool |
graph
Gets the flow graph to which this unit belongs.
Declaration
FlowGraph graph { get; }
Property Value
Type | Description |
---|---|
Flow |
inputs
Gets all input ports (both valid and invalid) for this unit.
Declaration
IEnumerable<IUnitInputPort> inputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
invalidInputs
Gets the collection of invalid input ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
IUnitPortCollection<InvalidInput> invalidInputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
invalidOutputs
Gets the collection of invalid output ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
IUnitPortCollection<InvalidOutput> invalidOutputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
invalidPorts
Gets the invalid ports for this unit.
Declaration
IEnumerable<IUnitPort> invalidPorts { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
isControlRoot
Gets a value indicating whether this unit is the control root of its graph.
Declaration
bool isControlRoot { get; }
Property Value
Type | Description |
---|---|
bool |
isDefined
Gets a value indicating whether this unit is currently defined.
Declaration
bool isDefined { get; }
Property Value
Type | Description |
---|---|
bool |
outputs
Gets all output ports (both valid and invalid) for this unit.
Declaration
IEnumerable<IUnitOutputPort> outputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
ports
Gets all ports (valid and invalid) for this unit.
Declaration
IEnumerable<IUnitPort> ports { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
position
Gets or sets the position of this unit in the graph editor interface.
Declaration
Vector2 position { get; set; }
Property Value
Type | Description |
---|---|
Vector2 |
relations
Gets the collection of port-to-port relationships (or connections) in this unit.
Declaration
IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort> relations { get; }
Property Value
Type | Description |
---|---|
IConnection |
validInputs
Gets the valid input ports for this unit.
Declaration
IEnumerable<IUnitInputPort> validInputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
validOutputs
Gets the valid output ports for this unit.
Declaration
IEnumerable<IUnitOutputPort> validOutputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
validPorts
Gets the valid ports for this unit.
Declaration
IEnumerable<IUnitPort> validPorts { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IUnit |
valueInputs
Gets the collection of value input ports for this unit.
Declaration
IUnitPortCollection<ValueInput> valueInputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
valueOutputs
Gets the collection of value output ports for this unit.
Declaration
IUnitPortCollection<ValueOutput> valueOutputs { get; }
Property Value
Type | Description |
---|---|
IUnit |
Methods
Define()
Defines this unit by setting up its ports, connections, and other requirements.
Declaration
void Define()
EnsureDefined()
Ensures that this unit is properly defined, invoking definition if necessary.
Declaration
void EnsureDefined()
PortsChanged()
Called to notify that ports in the unit have changed.
Declaration
void PortsChanged()
RemoveUnconnectedInvalidPorts()
Removes any unconnected invalid ports from this unit.
Declaration
void RemoveUnconnectedInvalidPorts()
Events
onPortsChanged
Event triggered when ports in the unit have changed.
Declaration
event Action onPortsChanged
Event Type
Type | Description |
---|---|
Action |