API ReferenceFacepunch.ActionGraphs

NodeBindingclass

A collection of named node properties, inputs, and outputs with specific types, as provided by a `Facepunch.ActionGraphs.NodeDefinition`. Bindings may depend on the property values or currently linked input types of a node.

objectNodeBinding
Namespace
Facepunch.ActionGraphs
Assembly
Facepunch.ActionGraphs
Declaration
public class Facepunch.ActionGraphs.NodeBinding

Constructors2

Showing 2 constructors

Methods16

Showing 16 methods

public static Facepunch.ActionGraphs.NodeBinding Create(Facepunch.ActionGraphs.DisplayInfo displayInfo, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.PropertyDefinition> properties = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.InputDefinition> inputs = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.OutputDefinition> outputs = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> messages = null, System.Collections.Generic.IEnumerable`1<System.Attribute> attributes = null, bool isAsync = False, object target = null)PUBLICSTATIC

ParameterTypeDescription
displayInfoDisplayInfo
properties = nullIEnumerable<PropertyDefinition>
inputs = nullIEnumerable<InputDefinition>
outputs = nullIEnumerable<OutputDefinition>
messages = nullIEnumerable<ValidationMessage>
attributes = nullIEnumerable<Attribute>
isAsync = Falsebool
target = nullobject
Returns:NodeBinding

public void Deconstruct(Facepunch.ActionGraphs.DisplayInfo DisplayInfo, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.PropertyDefinition> Properties, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.InputDefinition> Inputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.OutputDefinition> Outputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> Messages, System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Attributes, bool IsAsync, object Target)PUBLIC

ParameterTypeDescription
DisplayInfoDisplayInfo
PropertiesIReadOnlyCollection<PropertyDefinition>
InputsIReadOnlyCollection<InputDefinition>
OutputsIReadOnlyCollection<OutputDefinition>
MessagesIReadOnlyCollection<ValidationMessage>
AttributesIReadOnlyCollection<Attribute>
IsAsyncbool
Targetobject
Returns:void

public static Facepunch.ActionGraphs.NodeBinding FromMethodBase(System.Reflection.MethodBase method, Facepunch.ActionGraphs.NodeLibrary nodeLibrary)PUBLICSTATIC

ParameterTypeDescription
methodMethodBase
nodeLibraryNodeLibrary
Returns:NodeBinding

public static Facepunch.ActionGraphs.NodeBinding FromSerializedActionGraph(System.Text.Json.Nodes.JsonNode node, Facepunch.ActionGraphs.NodeLibrary nodeLibrary, System.Text.Json.JsonSerializerOptions options)PUBLICSTATIC

ParameterTypeDescription
nodeJsonNode
nodeLibraryNodeLibrary
optionsJsonSerializerOptions
Returns:NodeBinding

protected virtual bool PrintMembers(System.Text.StringBuilder builder)PROTECTEDVIRTUAL

ParameterTypeDescription
builderStringBuilder
Returns:bool

public Facepunch.ActionGraphs.NodeBinding WithTarget(object target)PUBLIC

ParameterTypeDescription
targetobject
Returns:NodeBinding

Properties10

Showing 10 properties

public System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Facepunch.ActionGraphs.NodeBinding.Attributes { get; set; }PUBLICGETSET

Returns:IReadOnlyCollection<Attribute>

protected virtual System.Type Facepunch.ActionGraphs.NodeBinding.EqualityContract { get; set; }PROTECTEDVIRTUALGETSET

Returns:Type

public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.InputDefinition> Facepunch.ActionGraphs.NodeBinding.Inputs { get; set; }PUBLICGETSETINGEST

Named inputs that can be provided either from the outputs of other nodes, or with constant values.

Returns:IReadOnlyCollection<InputDefinition>

public bool Facepunch.ActionGraphs.NodeBinding.IsAsync { get; set; }PUBLICGETSET

Returns:bool

public Facepunch.ActionGraphs.NodeKind Facepunch.ActionGraphs.NodeBinding.Kind { get; set; }PUBLICGETSET

Is this node an action or an expression?

Returns:NodeKind

public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> Facepunch.ActionGraphs.NodeBinding.Messages { get; set; }PUBLICGETSET

Can contain warnings or errors if this binding isn't fully valid.

Returns:IReadOnlyCollection<ValidationMessage>

public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.OutputDefinition> Facepunch.ActionGraphs.NodeBinding.Outputs { get; set; }PUBLICGETSET

Named outputs that can be connected to the inputs of other nodes.

Returns:IReadOnlyCollection<OutputDefinition>

public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.PropertyDefinition> Facepunch.ActionGraphs.NodeBinding.Properties { get; set; }PUBLICGETSET

Named constant values stored in a node.

Returns:IReadOnlyCollection<PropertyDefinition>

public object Facepunch.ActionGraphs.NodeBinding.Target { get; set; }PUBLICGETSET

Optional binding target data used by `Facepunch.ActionGraphs.NodeDefinition.BuildExpression(Facepunch.ActionGraphs.Compilation.INodeExpressionBuilder)`.

Returns:object

On this page

Constructorspublic NodeBinding(Facepunch.ActionGraphs.DisplayInfo DisplayInfo, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.PropertyDefinition> Properties, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.InputDefinition> Inputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.OutputDefinition> Outputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> Messages, System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Attributes, System.Boolean IsAsync, System.Object Target)protected NodeBinding(Facepunch.ActionGraphs.NodeBinding original)Methodspublic virtual Facepunch.ActionGraphs.NodeBinding <Clone>$()public static Facepunch.ActionGraphs.NodeBinding Create(Facepunch.ActionGraphs.DisplayInfo displayInfo, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.PropertyDefinition> properties = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.InputDefinition> inputs = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.OutputDefinition> outputs = null, System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> messages = null, System.Collections.Generic.IEnumerable`1<System.Attribute> attributes = null, System.Boolean isAsync = False, System.Object target = null)public static Facepunch.ActionGraphs.NodeBinding CreateActionNode(Facepunch.ActionGraphs.DisplayInfo displayInfo)public System.Void Deconstruct(Facepunch.ActionGraphs.DisplayInfo DisplayInfo, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.PropertyDefinition> Properties, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.InputDefinition> Inputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.OutputDefinition> Outputs, System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> Messages, System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Attributes, System.Boolean IsAsync, System.Object Target)public static Facepunch.ActionGraphs.NodeBinding FromDelegateType(System.Type delegateType, Facepunch.ActionGraphs.NodeLibrary nodeLibrary)public static Facepunch.ActionGraphs.NodeBinding FromMethodBase(System.Reflection.MethodBase method, Facepunch.ActionGraphs.NodeLibrary nodeLibrary)public static Facepunch.ActionGraphs.NodeBinding FromSerializedActionGraph(System.Text.Json.Nodes.JsonNode node, Facepunch.ActionGraphs.NodeLibrary nodeLibrary, System.Text.Json.JsonSerializerOptions options)protected virtual System.Boolean PrintMembers(System.Text.StringBuilder builder)public Facepunch.ActionGraphs.NodeBinding Replace(Facepunch.ActionGraphs.IParameterDefinition[] parameters)public Facepunch.ActionGraphs.NodeBinding With(Facepunch.ActionGraphs.DisplayInfo display)public Facepunch.ActionGraphs.NodeBinding With(Facepunch.ActionGraphs.IParameterDefinition[] parameters)public Facepunch.ActionGraphs.NodeBinding With(Facepunch.ActionGraphs.NodeBinding.ValidationMessage[] messages)public Facepunch.ActionGraphs.NodeBinding With(System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> messages)public Facepunch.ActionGraphs.NodeBinding WithCompletesAfter(Facepunch.ActionGraphs.OutputDefinition[] outputs)public Facepunch.ActionGraphs.NodeBinding Without(Facepunch.ActionGraphs.IParameterDefinition[] parameters)public Facepunch.ActionGraphs.NodeBinding WithTarget(System.Object target)Propertiespublic System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Facepunch.ActionGraphs.NodeBinding.Attributes { get; set; }public Facepunch.ActionGraphs.DisplayInfo Facepunch.ActionGraphs.NodeBinding.DisplayInfo { get; set; }protected virtual System.Type Facepunch.ActionGraphs.NodeBinding.EqualityContract { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.InputDefinition> Facepunch.ActionGraphs.NodeBinding.Inputs { get; set; }public System.Boolean Facepunch.ActionGraphs.NodeBinding.IsAsync { get; set; }public Facepunch.ActionGraphs.NodeKind Facepunch.ActionGraphs.NodeBinding.Kind { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.NodeBinding.ValidationMessage> Facepunch.ActionGraphs.NodeBinding.Messages { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.OutputDefinition> Facepunch.ActionGraphs.NodeBinding.Outputs { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.PropertyDefinition> Facepunch.ActionGraphs.NodeBinding.Properties { get; set; }public System.Object Facepunch.ActionGraphs.NodeBinding.Target { get; set; }Metadata