s&box docs
API ReferenceFacepunch.ActionGraphs

public class Facepunch.ActionGraphs.Node

The main building block of an action graph. Represents either an action or expression. An action node has input and output signals, and will act only when receiving a signal. Expression nodes have only input and output values, and will be evaluated lazily when one of its outputs is requested.

Broader workflow and conceptual references connected to this API.

Methods

Showing 5 methods

public virtual sealed Facepunch.ActionGraphs.Node AddNode(Facepunch.ActionGraphs.NodeDefinition definition)

public void MarkDirty()

Notify the containing graph that this node needs updating.

public void Remove()

Remove this node from the containing graph. Any links into or out of the node will also be removed.

public void SetParameters(System.Collections.Generic.IReadOnlyDictionary`2<string,object> properties = null, System.Collections.Generic.IReadOnlyDictionary`2<string,object> inputs = null)

Parameters

  • properties: Default: null
  • inputs: Default: null

public void UpdateParameters()

Immediately update this node's binding based on its input types and property values.

Properties

Showing 18 properties

public virtual sealed Facepunch.ActionGraphs.ActionGraph Facepunch.ActionGraphs.Node.ActionGraph { get; set; }

Parent `Facepunch.ActionGraphs.Node.ActionGraph` of this node.

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

Attributes provided by this node's current binding.

public Facepunch.ActionGraphs.NodeBinding Facepunch.ActionGraphs.Node.Binding { get; set; }

public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.Node> Facepunch.ActionGraphs.Node.Children { get; set; }

Nodes that were created as children of this node.

public Facepunch.ActionGraphs.NodeDefinition Facepunch.ActionGraphs.Node.Definition { get; set; }

Definition describing the behaviour and property / input / output bindings of this node.

public Facepunch.ActionGraphs.DisplayInfo Facepunch.ActionGraphs.Node.DisplayInfo { get; set; }

Display information for this node.

public int Facepunch.ActionGraphs.Node.Id { get; set; }

Unique id of this node in the containing `Facepunch.ActionGraphs.Node.ActionGraph`.

public Facepunch.ActionGraphs.NodeInputs Facepunch.ActionGraphs.Node.Inputs { get; set; }

Named inputs of this node, that may either link to the outputs of other nodes, or be assigned a constant value.

public virtual sealed bool Facepunch.ActionGraphs.Node.IsValid { get; set; }

Will become false if this node was removed from its action graph.

public Facepunch.ActionGraphs.NodeKind Facepunch.ActionGraphs.Node.Kind { get; set; }

Is this node an action or an expression?

All current input and output links attached to this node.

public Facepunch.ActionGraphs.NodeOutputs Facepunch.ActionGraphs.Node.Outputs { get; set; }

Named outputs of this node, that may link to the inputs of other nodes.

public Facepunch.ActionGraphs.Node Facepunch.ActionGraphs.Node.Parent { get; set; }

Parent of a nested node.

public Facepunch.ActionGraphs.NodeProperties Facepunch.ActionGraphs.Node.Properties { get; set; }

Constant named values stored in this node.

public virtual sealed string Facepunch.ActionGraphs.Node.StackTraceIdentifier { get; set; }

public System.Text.Json.Nodes.JsonObject Facepunch.ActionGraphs.Node.UserData { get; set; }

Arbitrary named values stored in this node, which will be included during serialization. Values must be serializable to JSON.

public System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.Node.Property> Facepunch.ActionGraphs.Node.VariableReferences { get; set; }

All properties or links that reference a variable.

Metadata

FieldValue
NamespaceFacepunch.ActionGraphs
Typeclass
AssemblyFacepunch.ActionGraphs
Doc IDT:Facepunch.ActionGraphs.Node

On this page

Methodspublic virtual sealed Facepunch.ActionGraphs.Node AddNode(Facepunch.ActionGraphs.NodeDefinition definition)public System.Void MarkDirty()public System.Void Remove()public System.Void SetParameters(System.Collections.Generic.IReadOnlyDictionary`2<System.String,System.Object> properties = null, System.Collections.Generic.IReadOnlyDictionary`2<System.String,System.Object> inputs = null)public System.Void UpdateParameters()Propertiespublic virtual sealed Facepunch.ActionGraphs.ActionGraph Facepunch.ActionGraphs.Node.ActionGraph { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<System.Attribute> Facepunch.ActionGraphs.Node.Attributes { get; set; }public Facepunch.ActionGraphs.NodeBinding Facepunch.ActionGraphs.Node.Binding { get; set; }public System.Collections.Generic.IReadOnlyCollection`1<Facepunch.ActionGraphs.Node> Facepunch.ActionGraphs.Node.Children { get; set; }public Facepunch.ActionGraphs.NodeDefinition Facepunch.ActionGraphs.Node.Definition { get; set; }public Facepunch.ActionGraphs.DisplayInfo Facepunch.ActionGraphs.Node.DisplayInfo { get; set; }public System.Int32 Facepunch.ActionGraphs.Node.Id { get; set; }public Facepunch.ActionGraphs.NodeInputs Facepunch.ActionGraphs.Node.Inputs { get; set; }public virtual sealed System.Boolean Facepunch.ActionGraphs.Node.IsValid { get; set; }public Facepunch.ActionGraphs.NodeKind Facepunch.ActionGraphs.Node.Kind { get; set; }public System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.Link> Facepunch.ActionGraphs.Node.Links { get; set; }public virtual sealed Facepunch.ActionGraphs.NodeLibrary Facepunch.ActionGraphs.Node.NodeLibrary { get; set; }public Facepunch.ActionGraphs.NodeOutputs Facepunch.ActionGraphs.Node.Outputs { get; set; }public Facepunch.ActionGraphs.Node Facepunch.ActionGraphs.Node.Parent { get; set; }public Facepunch.ActionGraphs.NodeProperties Facepunch.ActionGraphs.Node.Properties { get; set; }public virtual sealed System.String Facepunch.ActionGraphs.Node.StackTraceIdentifier { get; set; }public System.Text.Json.Nodes.JsonObject Facepunch.ActionGraphs.Node.UserData { get; set; }public System.Collections.Generic.IEnumerable`1<Facepunch.ActionGraphs.Node.Property> Facepunch.ActionGraphs.Node.VariableReferences { get; set; }Metadata