Skip to main content
Version: 2.0.x (Unreleased)

Jungle Node

The JungleNode class represents the base class for all node variants in the Jungle Sequencer.

It serves as the foundation for the four variants:

  1. Branch node
  2. IO node (input/output)
  3. Identity node
  4. Event node
NO SUPPORT FOR CUSTOM VARIANTS

As of currently, Jungle Sequencer does not natively support the creation of custom node variant types.

Overview​

The JungleNode class provides the following functionalities:

  • Defining unique identifiers and properties for each node.
  • Managing node connections and playback instances.
  • Providing editor-specific functionalities for managing nodes within the Jungle Editor.

Properties​

Uid​

public string Uid { get; }

Gets the unique identifier for this node.


Tree​

public JungleTree Tree { get; }

Gets a reference to the original tree this node is part of.


OutputPorts​

public Port[] OutputPorts { get; }

Gets the list of output ports for this node.


Nothing​

public static readonly Port.None Nothing

Gets the shorthand equivalent of new Port.None().


IsPlayback​

public bool IsPlayback { get; }

Indicates whether this node is an instance of a playback.


Playback​

public JunglePlayback Playback

Gets the playback instance associated with this node. Throws an InvalidOperationException if the node is not an instance of a playback.


Methods​

AddRevertAction​

public string AddRevertAction(Action action)

Adds a revert action to be executed when the playback stops.

Parameters​

  • action: The action to be added for revert during playback.

Returns​

A unique identifier for the added revert action.

Exceptions​

  • InvalidOperationException: Thrown when attempting to add a revert action to a non-playback node instance.

RemoveRevertAction​

public void RemoveRevertAction(string revertActionUid)

Removes a revert action from the playback node instance.

Parameters​

  • revertActionUid: The unique identifier of the revert action to be removed.

Exceptions​

  • InvalidOperationException: Thrown when attempting to remove a revert action from a non-playback node instance.

GetTitle​

public string GetTitle()

Returns the title of the node. If the title is not set, it returns the node's type name.

GetDescription​

public string GetDescription()

Returns a brief description of the node's function.

GetCategory​

public string GetCategory()

Returns the category of the node.

GetColor​

public Color GetColor()

Returns the accent color of the node. If the color is not set or invalid, returns Color.clear.

GetOptions​

public NodeOptions GetOptions()

Returns the options set for the node.

GetInputPortInfo​

public virtual Port.Info GetInputPortInfo()

Returns information about the node's input port. By default, it returns an unnamed port of type Port.None.

GetOutputPortsInfo​

public virtual Port.Info[] GetOutputPortsInfo()

Returns information about the node's output ports. By default, it returns an array with a single unnamed port of type Port.None.

Validate​

public string[] Validate(bool quietly = false)

Performs a validation pass on this JungleNode.

Parameters​

  • quietly: If true, suppresses validation events.

Returns​

An array of string containing all reported issues found on this JungleNode.

GetDetails​

public virtual string GetDetails()

Override this method to add context in the Jungle Editor. Returns a string containing additional context for the node, or null if no context is provided.

GetProgress​

public virtual float GetProgress()

Override this method to return a value between 0 and 1 to display the node's progress in the Jungle Editor. The default value is 1.

DrawGizmos​

public virtual void DrawGizmos()

Override this method to draw gizmos in the scene.

DrawGizmosSelected​

public virtual void DrawGizmosSelected()

Override this method to draw gizmos in the scene while the node is selected in the Jungle Editor.