Struct InitContext | Data Flow Graph | 0.19.0-preview.7
docs.unity3d.com
    Show / Hide Table of Contents

    Struct InitContext

    A unique initialization context provided to a node on instantiation that allows it to internally configure its specific instance. Allows forwarding port declarations to another node instance on a port of the same type. The effect is that any external connection made to those forwarded ports are converted into a direct connection between the 3rd party and the the node forwarded to. This is invisible to anyone external to the node, and handled transparently by the node set. This system allows a node to create sub graphs that appear as single node to everyone else.

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.GetType()
    Object.ReferenceEquals(Object, Object)
    Namespace: Unity.DataFlowGraph
    Syntax
    public struct InitContext : IContext<InitContext>
    Remarks

    Any port forwarding actions only take effect after has returned.

    Properties

    Handle

    A handle uniquely identifying the currently initializing node.

    Declaration
    public NodeHandle Handle { get; }
    Property Value
    Type Description
    NodeHandle
    Implements
    IContext<TSelf>.Handle

    Set

    The NodeSetAPI associated with this context.

    Declaration
    public NodeSetAPI Set { get; }
    Property Value
    Type Description
    NodeSetAPI
    Implements
    IContext<TSelf>.Set

    Methods

    ForwardInput<TDefinition, TForwardedDefinition, TType>(DataInput<TDefinition, TType>, NodeHandle<TForwardedDefinition>, DataInput<TForwardedDefinition, TType>)

    See ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardInput<TDefinition, TForwardedDefinition, TType>(DataInput<TDefinition, TType> origin, NodeHandle<TForwardedDefinition> replacedNode, DataInput<TForwardedDefinition, TType> replacement)
        where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
    Parameters
    Type Name Description
    DataInput<TDefinition, TType> origin
    NodeHandle<TForwardedDefinition> replacedNode
    DataInput<TForwardedDefinition, TType> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TType

    ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>)

    Sets up forwarding of the given input port to another input port on a different (sub) node.

    Declaration
    public void ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg> origin, NodeHandle<TForwardedDefinition> replacedNode, MessageInput<TForwardedDefinition, TMsg> replacement)
        where TDefinition : NodeDefinition, new()
        where TForwardedDefinition : NodeDefinition
    Parameters
    Type Name Description
    MessageInput<TDefinition, TMsg> origin
    NodeHandle<TForwardedDefinition> replacedNode
    MessageInput<TForwardedDefinition, TMsg> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TMsg

    ForwardInput<TDefinition, TForwardedDefinition, TType>(PortArray<DataInput<TDefinition, TType>>, NodeHandle<TForwardedDefinition>, PortArray<DataInput<TForwardedDefinition, TType>>)

    See ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardInput<TDefinition, TForwardedDefinition, TType>(PortArray<DataInput<TDefinition, TType>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<DataInput<TForwardedDefinition, TType>> replacement)
        where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
    Parameters
    Type Name Description
    PortArray<DataInput<TDefinition, TType>> origin
    NodeHandle<TForwardedDefinition> replacedNode
    PortArray<DataInput<TForwardedDefinition, TType>> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TType

    ForwardInput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageInput<TDefinition, TMsg>>, NodeHandle<TForwardedDefinition>, PortArray<MessageInput<TForwardedDefinition, TMsg>>)

    See ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardInput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageInput<TDefinition, TMsg>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<MessageInput<TForwardedDefinition, TMsg>> replacement)
        where TDefinition : NodeDefinition, new()
        where TForwardedDefinition : NodeDefinition
    Parameters
    Type Name Description
    PortArray<MessageInput<TDefinition, TMsg>> origin
    NodeHandle<TForwardedDefinition> replacedNode
    PortArray<MessageInput<TForwardedDefinition, TMsg>> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TMsg

    ForwardInput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLInput<TDefinition, TDSLDefinition, IDSL>, NodeHandle<TForwardedDefinition>, DSLInput<TForwardedDefinition, TDSLDefinition, IDSL>)

    See ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardInput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLInput<TDefinition, TDSLDefinition, IDSL> origin, NodeHandle<TForwardedDefinition> replacedNode, DSLInput<TForwardedDefinition, TDSLDefinition, IDSL> replacement)
        where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler<IDSL>, new()
        where IDSL : class
    Parameters
    Type Name Description
    DSLInput<TDefinition, TDSLDefinition, IDSL> origin
    NodeHandle<TForwardedDefinition> replacedNode
    DSLInput<TForwardedDefinition, TDSLDefinition, IDSL> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TDSLDefinition
    IDSL

    ForwardOutput<TDefinition, TForwardedDefinition, TType>(DataOutput<TDefinition, TType>, NodeHandle<TForwardedDefinition>, DataOutput<TForwardedDefinition, TType>)

    See ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardOutput<TDefinition, TForwardedDefinition, TType>(DataOutput<TDefinition, TType> origin, NodeHandle<TForwardedDefinition> replacedNode, DataOutput<TForwardedDefinition, TType> replacement)
        where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
    Parameters
    Type Name Description
    DataOutput<TDefinition, TType> origin
    NodeHandle<TForwardedDefinition> replacedNode
    DataOutput<TForwardedDefinition, TType> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TType

    ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>)

    Sets up forwarding of the given output port to another output port on a different (sub) node.

    Declaration
    public void ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg> origin, NodeHandle<TForwardedDefinition> replacedNode, MessageOutput<TForwardedDefinition, TMsg> replacement)
        where TDefinition : NodeDefinition, new()
        where TForwardedDefinition : NodeDefinition
    Parameters
    Type Name Description
    MessageOutput<TDefinition, TMsg> origin
    NodeHandle<TForwardedDefinition> replacedNode
    MessageOutput<TForwardedDefinition, TMsg> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TMsg

    ForwardOutput<TDefinition, TForwardedDefinition, TType>(PortArray<DataOutput<TDefinition, TType>>, NodeHandle<TForwardedDefinition>, PortArray<DataOutput<TForwardedDefinition, TType>>)

    See ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardOutput<TDefinition, TForwardedDefinition, TType>(PortArray<DataOutput<TDefinition, TType>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<DataOutput<TForwardedDefinition, TType>> replacement)
        where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
    Parameters
    Type Name Description
    PortArray<DataOutput<TDefinition, TType>> origin
    NodeHandle<TForwardedDefinition> replacedNode
    PortArray<DataOutput<TForwardedDefinition, TType>> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TType

    ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageOutput<TDefinition, TMsg>>, NodeHandle<TForwardedDefinition>, PortArray<MessageOutput<TForwardedDefinition, TMsg>>)

    See ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageOutput<TDefinition, TMsg>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<MessageOutput<TForwardedDefinition, TMsg>> replacement)
        where TDefinition : NodeDefinition, new()
        where TForwardedDefinition : NodeDefinition
    Parameters
    Type Name Description
    PortArray<MessageOutput<TDefinition, TMsg>> origin
    NodeHandle<TForwardedDefinition> replacedNode
    PortArray<MessageOutput<TForwardedDefinition, TMsg>> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TMsg

    ForwardOutput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLOutput<TDefinition, TDSLDefinition, IDSL>, NodeHandle<TForwardedDefinition>, DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL>)

    See ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>).

    Declaration
    public void ForwardOutput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLOutput<TDefinition, TDSLDefinition, IDSL> origin, NodeHandle<TForwardedDefinition> replacedNode, DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL> replacement)
        where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler<IDSL>, new()
        where IDSL : class
    Parameters
    Type Name Description
    DSLOutput<TDefinition, TDSLDefinition, IDSL> origin
    NodeHandle<TForwardedDefinition> replacedNode
    DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL> replacement
    Type Parameters
    Name Description
    TDefinition
    TForwardedDefinition
    TDSLDefinition
    IDSL

    SetInitialPortValue<TNodeDefinition, TType>(DataInput<TNodeDefinition, TType>, TType)

    Sets an initial value on port.

    Declaration
    public void SetInitialPortValue<TNodeDefinition, TType>(DataInput<TNodeDefinition, TType> port, in TType value)
        where TNodeDefinition : NodeDefinition where TType : struct
    Parameters
    Type Name Description
    DataInput<TNodeDefinition, TType> port
    TType value
    Type Parameters
    Name Description
    TNodeDefinition
    TType
    Remarks

    This function cannot resiliently be used for making default values on input ports, as subsequent disconnections will reset the value to a default representation of TType.

    Operators

    Implicit(InitContext to CommonContext)

    Conversion operator for common API shared with other contexts.

    Declaration
    public static implicit operator CommonContext(in InitContext ctx)
    Parameters
    Type Name Description
    InitContext ctx
    Returns
    Type Description
    CommonContext

    Extension Methods

    CommonContextAPI.EmitMessage<TContext, T, TNodeDefinition>(ref TContext, MessageOutput<TNodeDefinition, T>, T)
    CommonContextAPI.EmitMessage<TContext, T, TNodeDefinition>(ref TContext, PortArray<MessageOutput<TNodeDefinition, T>>, Int32, T)
    CommonContextAPI.UpdateKernelBuffers<TContext, TGraphKernel>(ref TContext, TGraphKernel)
    CommonContextAPI.UploadRequest<TContext, T>(ref TContext, NativeArray<T>, BufferUploadMethod)
    CommonContextAPI.UpdateKernelData<TContext, TKernelData>(ref TContext, TKernelData)
    CommonContextAPI.RegisterForUpdate<TContext>(ref TContext)
    CommonContextAPI.RemoveFromUpdate<TContext>(ref TContext)
    CommonContextAPI.SetKernelBufferSize<TContext, TGraphKernel>(ref TContext, TGraphKernel)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023