VisualScript

Inherits: Script < Resource < Reference < Object

A script implemented in the Visual Script programming environment.

Description

A script implemented in the Visual Script programming environment. The script extends the functionality of all objects that instance it.

Object.set_script extends an existing object, if that object’s class matches one of the script’s base classes.

You are most likely to use this class via the Visual Script editor or when writing plugins for it.

Tutorials

Methods

void add_custom_signal ( String name )
void add_function ( String name )
void add_node ( String func, int id, VisualScriptNode node, Vector2 position=Vector2( 0, 0 ) )
void add_variable ( String name, Variant default_value=null, bool export=false )
void custom_signal_add_argument ( String name, Variant.Type type, String argname, int index=-1 )
int custom_signal_get_argument_count ( String name ) const
String custom_signal_get_argument_name ( String name, int argidx ) const
Variant.Type custom_signal_get_argument_type ( String name, int argidx ) const
void custom_signal_remove_argument ( String name, int argidx )
void custom_signal_set_argument_name ( String name, int argidx, String argname )
void custom_signal_set_argument_type ( String name, int argidx, Variant.Type type )
void custom_signal_swap_argument ( String name, int argidx, int withidx )
void data_connect ( String func, int from_node, int from_port, int to_node, int to_port )
void data_disconnect ( String func, int from_node, int from_port, int to_node, int to_port )
int get_function_node_id ( String name ) const
Vector2 get_function_scroll ( String name ) const
VisualScriptNode get_node ( String func, int id ) const
Vector2 get_node_position ( String func, int id ) const
Variant get_variable_default_value ( String name ) const
bool get_variable_export ( String name ) const
Dictionary get_variable_info ( String name ) const
bool has_custom_signal ( String name ) const
bool has_data_connection ( String func, int from_node, int from_port, int to_node, int to_port ) const
bool has_function ( String name ) const
bool has_node ( String func, int id ) const
bool has_sequence_connection ( String func, int from_node, int from_output, int to_node ) const
bool has_variable ( String name ) const
void remove_custom_signal ( String name )
void remove_function ( String name )
void remove_node ( String func, int id )
void remove_variable ( String name )
void rename_custom_signal ( String name, String new_name )
void rename_function ( String name, String new_name )
void rename_variable ( String name, String new_name )
void sequence_connect ( String func, int from_node, int from_output, int to_node )
void sequence_disconnect ( String func, int from_node, int from_output, int to_node )
void set_function_scroll ( String name, Vector2 ofs )
void set_instance_base_type ( String type )
void set_node_position ( String func, int id, Vector2 position )
void set_variable_default_value ( String name, Variant value )
void set_variable_export ( String name, bool enable )
void set_variable_info ( String name, Dictionary value )

Signals

  • node_ports_changed ( String function, int id )

Emitted when the ports of a node are changed.

Method Descriptions

  • void add_custom_signal ( String name )

Add a custom signal with the specified name to the VisualScript.


  • void add_function ( String name )

Add a function with the specified name to the VisualScript.


Add a node to a function of the VisualScript.


Add a variable to the VisualScript, optionally giving it a default value or marking it as exported.


Add an argument to a custom signal added with add_custom_signal.


  • int custom_signal_get_argument_count ( String name ) const

Get the count of a custom signal’s arguments.


Get the name of a custom signal’s argument.


Get the type of a custom signal’s argument.


  • void custom_signal_remove_argument ( String name, int argidx )

Remove a specific custom signal’s argument.


  • void custom_signal_set_argument_name ( String name, int argidx, String argname )

Rename a custom signal’s argument.


Change the type of a custom signal’s argument.


  • void custom_signal_swap_argument ( String name, int argidx, int withidx )

Swap two of the arguments of a custom signal.


  • void data_connect ( String func, int from_node, int from_port, int to_node, int to_port )

Connect two data ports. The value of from_node’s from_port would be fed into to_node’s to_port.


  • void data_disconnect ( String func, int from_node, int from_port, int to_node, int to_port )

Disconnect two data ports previously connected with data_connect.


  • int get_function_node_id ( String name ) const

Returns the id of a function’s entry point node.


Returns the position of the center of the screen for a given function.


Returns a node given its id and its function.


Returns a node’s position in pixels.


Returns the default (initial) value of a variable.


Returns whether a variable is exported.


Returns the information for a given variable as a dictionary. The information includes its name, type, hint and usage.


Returns whether a signal exists with the specified name.


Returns whether the specified data ports are connected.


Returns whether a function exists with the specified name.


Returns whether a node exists with the given id.


  • bool has_sequence_connection ( String func, int from_node, int from_output, int to_node ) const

Returns whether the specified sequence ports are connected.


Returns whether a variable exists with the specified name.


  • void remove_custom_signal ( String name )

Remove a custom signal with the given name.


  • void remove_function ( String name )

Remove a specific function and its nodes from the script.


Remove a specific node.


  • void remove_variable ( String name )

Remove a variable with the given name.


  • void rename_custom_signal ( String name, String new_name )

Change the name of a custom signal.


Change the name of a function.


Change the name of a variable.


  • void sequence_connect ( String func, int from_node, int from_output, int to_node )

Connect two sequence ports. The execution will flow from of from_node’s from_output into to_node.

Unlike data_connect, there isn’t a to_port, since the target node can have only one sequence port.


  • void sequence_disconnect ( String func, int from_node, int from_output, int to_node )

Disconnect two sequence ports previously connected with sequence_connect.


Position the center of the screen for a function.


  • void set_instance_base_type ( String type )

Set the base type of the script.


Position a node on the screen.


Change the default (initial) value of a variable.


  • void set_variable_export ( String name, bool enable )

Change whether a variable is exported.


Set a variable’s info, using the same format as get_variable_info.