Class Unit
Assembly : Unity.VisualScripting.Flow.dll
Syntax
[SerializationVersion("A" , new Type[ ] { })]
public abstract class Unit : GraphElement <FlowGraph >, IUnit , IGraphElementWithDebugData , IGraphElement , IGraphItem , INotifiedCollectionItem , IDisposable , IPrewarmable , IAotStubbable , IIdentifiable , IAnalyticsIdentifiable
Constructors
Unit()
Declaration
Properties
canDefine
Gets a value indicating whether this unit can be defined.
Declaration
[DoNotSerialize ]
public virtual bool canDefine { get ; }
Property Value
connections
Gets all connections associated with this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitConnection> connections { get ; }
Property Value
Gets the collection of control input ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ControlInput> controlInputs { get ; }
Property Value
controlOutputs
Gets the collection of control output ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ControlOutput> controlOutputs { get ; }
Property Value
defaultValues
Gets a dictionary of default values used by the unit.
The keys represent port names, and the values represent their corresponding defaults.
Declaration
[Serialize ]
public Dictionary<string , object > defaultValues { get ; }
Property Value
definitionException
Gets the exception that occurred during the definition process, if the unit failed to define.
Declaration
[DoNotSerialize ]
public Exception definitionException { get ; protected set ; }
Property Value
failedToDefine
Gets a value indicating whether this unit failed to define.
Declaration
[DoNotSerialize ]
public bool failedToDefine { get ; }
Property Value
Gets all input ports (both valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitInputPort> inputs { get ; }
Property Value
Gets the collection of invalid input ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<InvalidInput> invalidInputs { get ; }
Property Value
invalidOutputs
Gets the collection of invalid output ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<InvalidOutput> invalidOutputs { get ; }
Property Value
invalidPorts
Gets the invalid ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> invalidPorts { get ; }
Property Value
isControlRoot
Gets a value indicating whether this unit is the control root of its graph.
Declaration
[DoNotSerialize ]
public virtual bool isControlRoot { get ; protected set ; }
Property Value
isDefined
Gets a value indicating whether this unit is currently defined.
Declaration
[DoNotSerialize ]
public bool isDefined { get ; }
Property Value
outputs
Gets all output ports (both valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitOutputPort> outputs { get ; }
Property Value
ports
Gets all ports (valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> ports { get ; }
Property Value
position
Gets or sets the position of this unit in the graph editor interface.
Declaration
[Serialize ]
public Vector2 position { get ; set ; }
Property Value
relations
Gets the collection of port-to-port relationships (or connections) in this unit.
Declaration
[DoNotSerialize ]
public IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort> relations { get ; }
Property Value
Gets the valid input ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitInputPort> validInputs { get ; }
Property Value
validOutputs
Gets the valid output ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitOutputPort> validOutputs { get ; }
Property Value
validPorts
Gets the valid ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> validPorts { get ; }
Property Value
Gets the collection of value input ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ValueInput> valueInputs { get ; }
Property Value
valueOutputs
Gets the collection of value output ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ValueOutput> valueOutputs { get ; }
Property Value
Methods
AfterAdd()
Declaration
public override void AfterAdd ()
Overrides
Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.AfterAdd()
AfterDefine()
Declaration
protected virtual void AfterDefine ()
Triggering the source may assign the destination value on the flow.
Declaration
protected void Assignment (ControlInput source, ValueOutput destination )
Parameters
BeforeRemove()
Declaration
public override void BeforeRemove ()
Overrides
Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.BeforeRemove()
BeforeUndefine()
Declaration
protected virtual void BeforeUndefine ()
Declaration
protected ControlInput ControlInput (string key, Func<Flow, ControlOutput> action )
Parameters
Returns
Declaration
protected ControlInput ControlInputCoroutine (string key, Func<Flow, IEnumerator> coroutineAction )
Parameters
Returns
Declaration
protected ControlInput ControlInputCoroutine (string key, Func<Flow, ControlOutput> action, Func<Flow, IEnumerator> coroutineAction )
Parameters
Returns
ControlOutput(string)
Declaration
protected ControlOutput ControlOutput (string key )
Parameters
Type
Name
Description
string
key
Returns
CopyFrom(Unit)
Declaration
protected void CopyFrom (Unit source )
Parameters
Type
Name
Description
Unit
source
CreateDebugData()
Declaration
public virtual IGraphElementDebugData CreateDebugData ()
Returns
Define()
Defines this unit by setting up its ports, connections, and other requirements.
Declaration
Definition()
Declaration
protected abstract void Definition ()
Disconnect()
Declaration
public void Disconnect ()
EnsureDefined()
Ensures that this unit is properly defined, invoking definition if necessary.
Declaration
public void EnsureDefined ()
Declaration
protected void EnsureUniqueInput (string key )
Parameters
Type
Name
Description
string
key
EnsureUniqueOutput(string)
Declaration
protected void EnsureUniqueOutput (string key )
Parameters
Type
Name
Description
string
key
GetAnalyticsIdentifier()
Declaration
public override AnalyticsIdentifier GetAnalyticsIdentifier ()
Returns
Overrides
Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.GetAnalyticsIdentifier()
Instantiate(GraphReference)
Declaration
public override void Instantiate (GraphReference instance )
Parameters
Overrides
Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.Instantiate(Unity.VisualScripting.GraphReference)
PortsChanged()
Called to notify that ports in the unit have changed.
Declaration
public void PortsChanged ()
RemoveUnconnectedInvalidPorts()
Removes any unconnected invalid ports from this unit.
Declaration
public void RemoveUnconnectedInvalidPorts ()
Triggering the destination may fetch the source value.
Declaration
protected void Requirement (ValueInput source, ControlInput destination )
Parameters
Getting the value of the destination may fetch the value of the source.
Declaration
protected void Requirement (ValueInput source, ValueOutput destination )
Parameters
Triggering the source may trigger the destination.
Declaration
protected void Succession (ControlInput source, ControlOutput destination )
Parameters
Uninstantiate(GraphReference)
Declaration
public override void Uninstantiate (GraphReference instance )
Parameters
Overrides
Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.Uninstantiate(Unity.VisualScripting.GraphReference)
Declaration
protected ValueInput ValueInput (Type type, string key )
Parameters
Returns
Declaration
protected ValueInput ValueInput <T >(string key )
Parameters
Type
Name
Description
string
key
Returns
Type Parameters
Declaration
protected ValueInput ValueInput <T >(string key, T @default )
Parameters
Type
Name
Description
string
key
T
default
Returns
Type Parameters
ValueOutput(Type, string)
Declaration
protected ValueOutput ValueOutput (Type type, string key )
Parameters
Returns
ValueOutput(Type, string, Func<Flow, object>)
Declaration
protected ValueOutput ValueOutput (Type type, string key, Func<Flow, object > getValue )
Parameters
Returns
ValueOutput<T>(string)
Declaration
protected ValueOutput ValueOutput <T >(string key )
Parameters
Type
Name
Description
string
key
Returns
Type Parameters
ValueOutput<T>(string, Func<Flow, T>)
Declaration
protected ValueOutput ValueOutput <T >(string key, Func<Flow, T> getValue )
Parameters
Returns
Type Parameters
Events
onPortsChanged
Event triggered when ports in the unit have changed.
Declaration
public event Action onPortsChanged
Event Type
Implements
Extension Methods