Artemis Artemis
Artemis Artemis

Search Results for

    Class Node

    Represents a kind of node inside a NodeScript

    Inheritance
    object
    CorePropertyChanged
    BreakableModel
    Node
    DefaultNode
    Implements
    INode
    IBreakableModel
    Inherited Members
    BreakableModel.OnBrokenStateChanged()
    BreakableModel.TryOrBreak(Action, string)
    BreakableModel.SetBrokenState(string, Exception)
    BreakableModel.ClearBrokenState(string)
    BreakableModel.GetBrokenHierarchy()
    BreakableModel.BrokenState
    BreakableModel.BrokenStateException
    BreakableModel.BrokenStateChanged
    Namespace: Artemis.Core
    Assembly: Artemis.Core.dll
    Syntax
    public abstract class Node : BreakableModel, INode, IBreakableModel

    Constructors

    Node()

    Creates a new instance of the Node class with an empty name and description

    Declaration
    protected Node()

    Node(string, string)

    Creates a new instance of the Node class with the provided name and description

    Declaration
    protected Node(string name, string description)
    Parameters
    Type Name Description
    string name
    string description

    Properties

    BrokenDisplayName

    Gets the display name of this breakable model

    Declaration
    public override string BrokenDisplayName { get; }
    Property Value
    Type Description
    string
    Overrides
    BreakableModel.BrokenDisplayName

    Description

    Gets the description of the node

    Declaration
    public string Description { get; set; }
    Property Value
    Type Description
    string

    HelpUrl

    Gets or sets the help URL of the node

    Declaration
    public string HelpUrl { get; set; }
    Property Value
    Type Description
    string

    Id

    Gets or sets the ID of the node.

    Declaration
    public Guid Id { get; set; }
    Property Value
    Type Description
    Guid

    IsDefaultNode

    Gets a boolean indicating whether the node is a default node that connot be removed

    Declaration
    public virtual bool IsDefaultNode { get; }
    Property Value
    Type Description
    bool

    IsExitNode

    Gets a boolean indicating whether the node is the exit node of the script

    Declaration
    public virtual bool IsExitNode { get; }
    Property Value
    Type Description
    bool

    Name

    Gets the name of the node

    Declaration
    public string Name { get; set; }
    Property Value
    Type Description
    string

    PinCollections

    Gets a read-only collection of the pin collections on this node

    Declaration
    public IReadOnlyCollection<IPinCollection> PinCollections { get; }
    Property Value
    Type Description
    IReadOnlyCollection<IPinCollection>

    Pins

    Gets a read-only collection of the pins on this node

    Declaration
    public IReadOnlyCollection<IPin> Pins { get; }
    Property Value
    Type Description
    IReadOnlyCollection<IPin>

    X

    Gets or sets the X-position of the node

    Declaration
    public double X { get; set; }
    Property Value
    Type Description
    double

    Y

    Gets or sets the Y-position of the node

    Declaration
    public double Y { get; set; }
    Property Value
    Type Description
    double

    Methods

    AddPin(Pin)

    Adds an existing pin to the Pins collection.

    Declaration
    public void AddPin(Pin pin)
    Parameters
    Type Name Description
    Pin pin

    The pin to add

    CreateInputPin(Type, string)

    Creates a new input pin and adds it to the Pins collection

    Declaration
    public InputPin CreateInputPin(Type type, string name = "")
    Parameters
    Type Name Description
    Type type

    The type of value the pin will hold

    string name

    The name of the pin

    Returns
    Type Description
    InputPin

    The newly created pin

    CreateInputPinCollection(Type, string, int)

    Creates a new input pin collection and adds it to the PinCollections collection

    Declaration
    public InputPinCollection CreateInputPinCollection(Type type, string name = "", int initialCount = 1)
    Parameters
    Type Name Description
    Type type

    The type of value the pins of this collection will hold

    string name

    The name of the pin collection

    int initialCount

    The amount of pins to initially add to the collection

    Returns
    Type Description
    InputPinCollection

    The resulting input pin collection

    CreateInputPinCollection<T>(string, int)

    Creates a new input pin collection and adds it to the PinCollections collection

    Declaration
    public InputPinCollection<T> CreateInputPinCollection<T>(string name = "", int initialCount = 1)
    Parameters
    Type Name Description
    string name

    The name of the pin collection

    int initialCount

    The amount of pins to initially add to the collection

    Returns
    Type Description
    InputPinCollection<T>

    The resulting input pin collection

    Type Parameters
    Name Description
    T

    The type of value the pins of this collection will hold

    CreateInputPin<T>(string)

    Creates a new input pin and adds it to the Pins collection

    Declaration
    public InputPin<T> CreateInputPin<T>(string name = "")
    Parameters
    Type Name Description
    string name

    The name of the pin

    Returns
    Type Description
    InputPin<T>

    The newly created pin

    Type Parameters
    Name Description
    T

    The type of value the pin will hold

    CreateOrAddInputPin(Type, string)

    Creates or adds an input pin to the node using a bucket. The bucket might grow a bit over time as the user edits the node but pins won't get lost, enabling undo/redo in the editor.

    Declaration
    public InputPin CreateOrAddInputPin(Type valueType, string displayName)
    Parameters
    Type Name Description
    Type valueType
    string displayName
    Returns
    Type Description
    InputPin

    CreateOrAddOutputPin(Type, string)

    Creates or adds an output pin to the node using a bucket. The bucket might grow a bit over time as the user edits the node but pins won't get lost, enabling undo/redo in the editor.

    Declaration
    public OutputPin CreateOrAddOutputPin(Type valueType, string displayName)
    Parameters
    Type Name Description
    Type valueType
    string displayName
    Returns
    Type Description
    OutputPin

    CreateOutputPin(Type, string)

    Creates a new output pin and adds it to the Pins collection

    Declaration
    public OutputPin CreateOutputPin(Type type, string name = "")
    Parameters
    Type Name Description
    Type type

    The type of value the pin will hold

    string name

    The name of the pin

    Returns
    Type Description
    OutputPin

    The newly created pin

    CreateOutputPinCollection<T>(string, int)

    Creates a new output pin collection and adds it to the PinCollections collection

    Declaration
    public OutputPinCollection<T> CreateOutputPinCollection<T>(string name = "", int initialCount = 1)
    Parameters
    Type Name Description
    string name

    The name of the pin collection

    int initialCount

    The amount of pins to initially add to the collection

    Returns
    Type Description
    OutputPinCollection<T>

    The resulting output pin collection

    Type Parameters
    Name Description
    T

    The type of value the pins of this collection will hold

    CreateOutputPin<T>(string)

    Creates a new output pin and adds it to the Pins collection

    Declaration
    public OutputPin<T> CreateOutputPin<T>(string name = "")
    Parameters
    Type Name Description
    string name

    The name of the pin

    Returns
    Type Description
    OutputPin<T>

    The newly created pin

    Type Parameters
    Name Description
    T

    The type of value the pin will hold

    DeserializeStorage(string)

    Deserializes the Artemis.Storage object and sets it

    Declaration
    public virtual void DeserializeStorage(string serialized)
    Parameters
    Type Name Description
    string serialized

    The serialized object

    Evaluate()

    Evaluates the value of the output pins of this node

    Declaration
    public abstract void Evaluate()

    Initialize(INodeScript)

    Called when the node was loaded from storage or newly created, at this point pin connections aren't reestablished yet.

    Declaration
    public virtual void Initialize(INodeScript script)
    Parameters
    Type Name Description
    INodeScript script

    The script the node is contained in

    RemovePin(Pin)

    Removes the provided pin from the node and it's Pins collection

    Declaration
    public bool RemovePin(Pin pin)
    Parameters
    Type Name Description
    Pin pin

    The pin to remove

    Returns
    Type Description
    bool

    true if the pin was removed; otherwise false.

    RemovePinCollection(PinCollection)

    Removes the provided pinCollection from the node and it's PinCollections collection

    Declaration
    public bool RemovePinCollection(PinCollection pinCollection)
    Parameters
    Type Name Description
    PinCollection pinCollection

    The pin collection to remove

    Returns
    Type Description
    bool

    true if the pin collection was removed; otherwise false.

    Reset()

    Resets the node causing all pins to re-evaluate the next time TryEvaluate() is called

    Declaration
    public virtual void Reset()

    SerializeStorage()

    Serializes the Artemis.Storage object into a string

    Declaration
    public virtual string SerializeStorage()
    Returns
    Type Description
    string

    The serialized object

    TryEvaluate()

    Attempts to evaluate the value of the output pins of this node

    Declaration
    public void TryEvaluate()

    TryInitialize(INodeScript)

    Attempts to initialize the node.

    Declaration
    public void TryInitialize(INodeScript script)
    Parameters
    Type Name Description
    INodeScript script

    The script the node is contained in

    Events

    PinAdded

    Occurs when a pin was added to the node

    Declaration
    public event EventHandler<SingleValueEventArgs<IPin>>? PinAdded
    Event Type
    Type Description
    EventHandler<SingleValueEventArgs<IPin>>

    PinCollectionAdded

    Occurs when a pin collection was added to the node

    Declaration
    public event EventHandler<SingleValueEventArgs<IPinCollection>>? PinCollectionAdded
    Event Type
    Type Description
    EventHandler<SingleValueEventArgs<IPinCollection>>

    PinCollectionRemoved

    Occurs when a pin was removed from the node

    Declaration
    public event EventHandler<SingleValueEventArgs<IPinCollection>>? PinCollectionRemoved
    Event Type
    Type Description
    EventHandler<SingleValueEventArgs<IPinCollection>>

    PinRemoved

    Occurs when a pin was removed from the node

    Declaration
    public event EventHandler<SingleValueEventArgs<IPin>>? PinRemoved
    Event Type
    Type Description
    EventHandler<SingleValueEventArgs<IPin>>

    Resetting

    Called when the node resets

    Declaration
    public event EventHandler? Resetting
    Event Type
    Type Description
    EventHandler

    Implements

    INode
    IBreakableModel

    Extension Methods

    NodeExtension.EstimateHeight(INode)
    NodeExtension.EstimateWidth(INode)
    NodeExtension.IsInLoop(INode, INode)
    Content is available under the PolyForm Noncommercial License, by Artemis RGB.