VisualScriptCustomNode

Inherits: VisualScriptNode < Resource < Reference < Object

Category: Core

Brief Description

A scripted Visual Script node.

Methods

String _get_caption ( ) virtual
String _get_category ( ) virtual
int _get_input_value_port_count ( ) virtual
String _get_input_value_port_name ( int idx ) virtual
int _get_input_value_port_type ( int idx ) virtual
int _get_output_sequence_port_count ( ) virtual
String _get_output_sequence_port_text ( int idx ) virtual
int _get_output_value_port_count ( ) virtual
String _get_output_value_port_name ( int idx ) virtual
int _get_output_value_port_type ( int idx ) virtual
String _get_text ( ) virtual
int _get_working_memory_size ( ) virtual
bool _has_input_sequence_port ( ) virtual
Variant _step ( Array inputs, Array outputs, int start_mode, Array working_mem ) virtual

Enumerations

enum StartMode:

  • START_MODE_BEGIN_SEQUENCE = 0 — The start mode used the first time when _step is called.
  • START_MODE_CONTINUE_SEQUENCE = 1 — The start mode used when _step is called after coming back from a STEP_PUSH_STACK_BIT.
  • START_MODE_RESUME_YIELD = 2 — The start mode used when _step is called after resuming from STEP_YIELD_BIT.

Constants

  • STEP_PUSH_STACK_BIT = 16777216 — Hint used by _step to tell that control should return to it when there is no other node left to execute.

This is used by VisualScriptCondition to redirect the sequence to the “Done” port after the true/false branch has finished execution.

  • STEP_GO_BACK_BIT = 33554432 — Hint used by _step to tell that control should return back, either hitting a previous STEP_PUSH_STACK_BIT or exiting the function.
  • STEP_NO_ADVANCE_BIT = 67108864
  • STEP_EXIT_FUNCTION_BIT = 134217728 — Hint used by _step to tell that control should stop and exit the function.
  • STEP_YIELD_BIT = 268435456 — Hint used by _step to tell that the function should be yielded.

Using this requires you to have at least one working memory slot, which is used for the VisualScriptFunctionState.

Description

A custom Visual Script node which can be scripted in powerful ways.

Method Descriptions

  • String _get_caption ( ) virtual

Return the node’s title.


  • String _get_category ( ) virtual

Return the node’s category.


  • int _get_input_value_port_count ( ) virtual

Return the count of input value ports.


  • String _get_input_value_port_name ( int idx ) virtual

Return the specified input port’s name.


  • int _get_input_value_port_type ( int idx ) virtual

Return the specified input port’s type. See the TYPE_* enum in @GlobalScope.


  • int _get_output_sequence_port_count ( ) virtual

Return the amount of output sequence ports.


  • String _get_output_sequence_port_text ( int idx ) virtual

Return the specified sequence output’s name.


  • int _get_output_value_port_count ( ) virtual

Return the amount of output value ports.


  • String _get_output_value_port_name ( int idx ) virtual

Return the specified output’s name.


  • int _get_output_value_port_type ( int idx ) virtual

Return the specified output’s type. See the TYPE_* enum in @GlobalScope.


  • String _get_text ( ) virtual

Return the custom node’s text, which is shown right next to the input sequence port (if there is none, on the place that is usually taken by it).


  • int _get_working_memory_size ( ) virtual

Return the size of the custom node’s working memory. See _step for more details.


  • bool _has_input_sequence_port ( ) virtual

Return whether the custom node has an input sequence port.


Execute the custom node’s logic, returning the index of the output sequence port to use or a String when there is an error.

The inputs array contains the values of the input ports.

outputs is an array whose indices should be set to the respective outputs.

The start_mode is usually START_MODE_BEGIN_SEQUENCE, unless you have used the STEP_* constants.

working_mem is an array which can be used to persist information between runs of the custom node.

When returning, you can mask the returned value with one of the STEP_* constants.