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¶
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.
void add_node ( String func, int id, VisualScriptNode node, Vector2 position=Vector2( 0, 0 ) )
Add a node to a function of the VisualScript.
void add_variable ( String name, Variant default_value=null, bool export=false )
Add a variable to the VisualScript, optionally giving it a default value or marking it as exported.
void custom_signal_add_argument ( String name, Variant.Type type, String argname, int index=-1 )
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.
String custom_signal_get_argument_name ( String name, int argidx ) const
Get the name of a custom signal's argument.
Variant.Type custom_signal_get_argument_type ( String name, int argidx ) const
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.
void custom_signal_set_argument_type ( String name, int argidx, Variant.Type type )
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.
Vector2 get_function_scroll ( String name ) const
Returns the position of the center of the screen for a given function.
VisualScriptNode get_node ( String func, int id ) const
Returns a node given its id and its function.
Vector2 get_node_position ( String func, int id ) const
Returns a node's position in pixels.
Variant get_variable_default_value ( String name ) const
Returns the default (initial) value of a variable.
bool get_variable_export ( String name ) const
Returns whether a variable is exported.
Dictionary get_variable_info ( String name ) const
Returns the information for a given variable as a dictionary. The information includes its name, type, hint and usage.
bool has_custom_signal ( String name ) const
Returns whether a signal exists with the specified name.
bool has_data_connection ( String func, int from_node, int from_port, int to_node, int to_port ) const
Returns whether the specified data ports are connected.
bool has_function ( String name ) const
Returns whether a function exists with the specified name.
bool has_node ( String func, int id ) const
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.
bool has_variable ( String name ) const
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.
void remove_node ( String func, int id )
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.
void rename_function ( String name, String new_name )
Change the name of a function.
void rename_variable ( String name, String new_name )
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.
void set_function_scroll ( String name, Vector2 ofs )
Position the center of the screen for a function.
void set_instance_base_type ( String type )
Set the base type of the script.
void set_node_position ( String func, int id, Vector2 position )
Position a node on the screen.
void set_variable_default_value ( String name, Variant value )
Change the default (initial) value of a variable.
void set_variable_export ( String name, bool enable )
Change whether a variable is exported.
void set_variable_info ( String name, Dictionary value )
Set a variable's info, using the same format as get_variable_info.