Document some of the VisualScript classes.

This commit is contained in:
Bojidar Marinov 2017-09-28 13:07:20 +03:00
parent 62cb43bb8d
commit 10469c1962
No known key found for this signature in database
GPG key ID: 4D546A8F1E091856
16 changed files with 210 additions and 3 deletions

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="@VisualScript" category="Core" version="3.0.alpha.custom_build">
<brief_description>
Built-in visual script functions.
</brief_description>
<description>
A list of built-in visual script functions, see [VisualScriptBuiltinFunc] and [VisualScript].
</description>
<tutorials>
</tutorials>

View file

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScript" inherits="Script" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A script implemented in the Visual Script programming environment.
</brief_description>
<description>
A script implemented in the Visual Script programming environment. The script exends the functionality of all objects that instance it.
[method 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.
</description>
<tutorials>
</tutorials>
@ -15,6 +19,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Add a custom signal with the specified name to the VisualScript.
</description>
</method>
<method name="add_function">
@ -23,6 +28,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Add a function with the specified name to the VisualScript.
</description>
</method>
<method name="add_node">
@ -37,6 +43,7 @@
<argument index="3" name="pos" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Add a node to a function of the VisualScript.
</description>
</method>
<method name="add_variable">
@ -49,6 +56,7 @@
<argument index="2" name="export" type="bool" default="false">
</argument>
<description>
Add a variable to the VisualScript, optionally giving it a default value or marking it as exported.
</description>
</method>
<method name="custom_signal_add_argument">
@ -63,6 +71,7 @@
<argument index="3" name="index" type="int" default="-1">
</argument>
<description>
Add an argument to a custom signal added with [method add_custom_signal].
</description>
</method>
<method name="custom_signal_get_argument_count" qualifiers="const">
@ -71,6 +80,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Get the count of a custom signal's arguments.
</description>
</method>
<method name="custom_signal_get_argument_name" qualifiers="const">
@ -81,6 +91,7 @@
<argument index="1" name="argidx" type="int">
</argument>
<description>
Get the name of a custom signal's argument.
</description>
</method>
<method name="custom_signal_get_argument_type" qualifiers="const">
@ -91,6 +102,7 @@
<argument index="1" name="argidx" type="int">
</argument>
<description>
Get the type of a custom signal's argument.
</description>
</method>
<method name="custom_signal_remove_argument">
@ -101,6 +113,7 @@
<argument index="1" name="argidx" type="int">
</argument>
<description>
Remove a specific custom signal's argument.
</description>
</method>
<method name="custom_signal_set_argument_name">
@ -113,6 +126,7 @@
<argument index="2" name="argname" type="String">
</argument>
<description>
Rename a custom signal's argument.
</description>
</method>
<method name="custom_signal_set_argument_type">
@ -125,6 +139,7 @@
<argument index="2" name="type" type="int" enum="Variant.Type">
</argument>
<description>
Change the type of a custom signal's argument.
</description>
</method>
<method name="custom_signal_swap_argument">
@ -137,6 +152,7 @@
<argument index="2" name="withidx" type="int">
</argument>
<description>
Swap two of the arguments of a custom signal.
</description>
</method>
<method name="data_connect">
@ -153,6 +169,7 @@
<argument index="4" name="to_port" type="int">
</argument>
<description>
Connect two data ports. The value of [code]from_node[/code]'s [code]from_port[/code] would be fed into [code]to_node[/code]'s [code]to_port[/code].
</description>
</method>
<method name="data_disconnect">
@ -169,6 +186,7 @@
<argument index="4" name="to_port" type="int">
</argument>
<description>
Disconnect two data ports previously connected with [method data_connect].
</description>
</method>
<method name="get_function_node_id" qualifiers="const">
@ -177,6 +195,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns the id of a function's entry point node.
</description>
</method>
<method name="get_function_scroll" qualifiers="const">
@ -185,6 +204,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns the position of the center of the screen for a given function.
</description>
</method>
<method name="get_node" qualifiers="const">
@ -195,6 +215,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
Returns a node given its id and its function.
</description>
</method>
<method name="get_node_pos" qualifiers="const">
@ -205,6 +226,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
Returns a node's position in pixels.
</description>
</method>
<method name="get_variable_default_value" qualifiers="const">
@ -213,6 +235,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns the default (initial) value of a variable.
</description>
</method>
<method name="get_variable_export" qualifiers="const">
@ -221,6 +244,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns whether a variable is exported.
</description>
</method>
<method name="get_variable_info" qualifiers="const">
@ -229,6 +253,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns the info for a given variable as a dictionary. The information includes its name, type, hint and usage.
</description>
</method>
<method name="has_custom_signal" qualifiers="const">
@ -237,6 +262,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns whether a signal exists with the specified name.
</description>
</method>
<method name="has_data_connection" qualifiers="const">
@ -253,6 +279,7 @@
<argument index="4" name="to_port" type="int">
</argument>
<description>
Returns whether the specified data ports are connected.
</description>
</method>
<method name="has_function" qualifiers="const">
@ -261,6 +288,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns whether a function exists with the specified name.
</description>
</method>
<method name="has_node" qualifiers="const">
@ -271,6 +299,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
Returns whether a node exists with the given id.
</description>
</method>
<method name="has_sequence_connection" qualifiers="const">
@ -285,6 +314,7 @@
<argument index="3" name="to_node" type="int">
</argument>
<description>
Returns whether the specified sequence ports are connected.
</description>
</method>
<method name="has_variable" qualifiers="const">
@ -293,6 +323,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Returns whether a variable exists with the specified name.
</description>
</method>
<method name="remove_custom_signal">
@ -301,6 +332,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Remove a custom signal with the given name.
</description>
</method>
<method name="remove_function">
@ -309,6 +341,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Remove a specific function and its nodes from the script.
</description>
</method>
<method name="remove_node">
@ -319,6 +352,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
Remove a specific node.
</description>
</method>
<method name="remove_variable">
@ -327,6 +361,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
Remove a variable with the given name.
</description>
</method>
<method name="rename_custom_signal">
@ -337,6 +372,7 @@
<argument index="1" name="new_name" type="String">
</argument>
<description>
Change the name of a custom signal.
</description>
</method>
<method name="rename_function">
@ -347,6 +383,7 @@
<argument index="1" name="new_name" type="String">
</argument>
<description>
Change the name of a function.
</description>
</method>
<method name="rename_variable">
@ -357,6 +394,7 @@
<argument index="1" name="new_name" type="String">
</argument>
<description>
Change the name of a variable.
</description>
</method>
<method name="sequence_connect">
@ -371,6 +409,8 @@
<argument index="3" name="to_node" type="int">
</argument>
<description>
Connect two sequence ports. The execution will flow from of [code]from_node[/code]'s [code]from_output[/code] into [code]to_node[/code].
Unlike [method data_connect], there isn't a [code]to_port[/code], since the target node can have only one sequence port.
</description>
</method>
<method name="sequence_disconnect">
@ -385,6 +425,7 @@
<argument index="3" name="to_node" type="int">
</argument>
<description>
Disconnect two sequence ports previously connected with [method sequence_connect].
</description>
</method>
<method name="set_function_scroll">
@ -395,6 +436,7 @@
<argument index="1" name="ofs" type="Vector2">
</argument>
<description>
Position the center of the screen for a function.
</description>
</method>
<method name="set_instance_base_type">
@ -403,6 +445,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
Set the base type of the script.
</description>
</method>
<method name="set_node_pos">
@ -415,6 +458,7 @@
<argument index="2" name="pos" type="Vector2">
</argument>
<description>
Position a node on the screen.
</description>
</method>
<method name="set_variable_default_value">
@ -425,6 +469,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
Change the default (initial) value of a variable.
</description>
</method>
<method name="set_variable_export">
@ -435,6 +480,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
Change whether a variable is exported.
</description>
</method>
<method name="set_variable_info">
@ -445,6 +491,7 @@
<argument index="1" name="value" type="Dictionary">
</argument>
<description>
Set a variable's info, using the same format as [method get_variable_info].
</description>
</method>
</methods>
@ -459,6 +506,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
Emitted when the ports of a node are changed.
</description>
</signal>
</signals>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptBasicTypeConstant" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node representing a constant from the base types.
</brief_description>
<description>
A Visual Script node representing a constant from base types, such as [Vector3.AXIS_X].
</description>
<tutorials>
</tutorials>
@ -40,8 +42,10 @@
</methods>
<members>
<member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type">
The type to get the constant from.
</member>
<member name="constant" type="String" setter="set_basic_type_constant" getter="get_basic_type_constant">
The name of the constant to return.
</member>
</members>
<constants>

View file

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptBuiltinFunc" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node used to call built-in functions.
</brief_description>
<description>
A built-in function used inside a [VisualScript]. It is usually a math function or an utility function.
See also [@GDScript], for the same functions in the GDScript language.
</description>
<tutorials>
</tutorials>
@ -26,124 +29,183 @@
</methods>
<members>
<member name="function" type="int" setter="set_func" getter="get_func" enum="VisualScriptBuiltinFunc.BuiltinFunc">
The function to be executed.
</member>
</members>
<constants>
<constant name="MATH_SIN" value="0">
Return the sine of the input.
</constant>
<constant name="MATH_COS" value="1">
Return the cosine of the input.
</constant>
<constant name="MATH_TAN" value="2">
Return the tangent of the input.
</constant>
<constant name="MATH_SINH" value="3">
Return the hyperbolic sine of the input.
</constant>
<constant name="MATH_COSH" value="4">
Return the hyperbolic cosine of the input.
</constant>
<constant name="MATH_TANH" value="5">
Return the hyperbolic tangent of the input.
</constant>
<constant name="MATH_ASIN" value="6">
Return the arc sine of the input.
</constant>
<constant name="MATH_ACOS" value="7">
Return the arc cosine of the input.
</constant>
<constant name="MATH_ATAN" value="8">
Return the arc tangent of the input.
</constant>
<constant name="MATH_ATAN2" value="9">
Return the arc tangent of the input, using the signs of both parameters to determine the exact angle.
</constant>
<constant name="MATH_SQRT" value="10">
Return the square root of the input.
</constant>
<constant name="MATH_FMOD" value="11">
Return the remainder of one input divided by the other, using floating-point numbers.
</constant>
<constant name="MATH_FPOSMOD" value="12">
Return the positive remainder of one input divided by the other, using floating-point numbers.
</constant>
<constant name="MATH_FLOOR" value="13">
Return the input rounded down.
</constant>
<constant name="MATH_CEIL" value="14">
Return the input rounded up.
</constant>
<constant name="MATH_ROUND" value="15">
Return the input rounded to the nearest integer.
</constant>
<constant name="MATH_ABS" value="16">
Return the absolute value of the input.
</constant>
<constant name="MATH_SIGN" value="17">
Return the sign of the input, turning it into 1, -1, or 0. Useful to determine if the input is positive or negative.
</constant>
<constant name="MATH_POW" value="18">
Return the input raised to a given power.
</constant>
<constant name="MATH_LOG" value="19">
Return the natural logarithm of the input. Note that this is not the typical base-10 logarithm function calculators use.
</constant>
<constant name="MATH_EXP" value="20">
Return [b]e[/b] raised to the power of the input. [b]e[/b] sometimes called "Euler's number" is a mathematical constant whose value is approximately 2.71828.
</constant>
<constant name="MATH_ISNAN" value="21">
Return whether the input is NaN (Not a Number) or not. NaN is usually produced by dividing 0 by 0, though other ways exist.
</constant>
<constant name="MATH_ISINF" value="22">
Return whether the input is an infinite floating-point number or not. Infinity is usually produced by dividing a number by 0, though other ways exist.
</constant>
<constant name="MATH_EASE" value="23">
Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in.
</constant>
<constant name="MATH_DECIMALS" value="24">
Return the number of digit places after the decimal that the first non-zero digit occurs.
</constant>
<constant name="MATH_STEPIFY" value="25">
Return the input snapped to a given step.
</constant>
<constant name="MATH_LERP" value="26">
Return a number linearly interpolated between the first two inputs, based on the third input. Uses the formula [code]a + (a - b) * t[/code].
</constant>
<constant name="MATH_DECTIME" value="27">
Return the result of 'value' decreased by 'step' * 'amount'.
</constant>
<constant name="MATH_RANDOMIZE" value="28">
Randomize the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
</constant>
<constant name="MATH_RAND" value="29">
Return a random 32 bits integer value. To obtain a random value between 0 to N (where N is smaller than 2^32 - 1), you can use it with the remainder function.
</constant>
<constant name="MATH_RANDF" value="30">
Return a random floating-point value between 0 and 1. To obtain a random value between 0 to N, you can use it with multiplication.
</constant>
<constant name="MATH_RANDOM" value="31">
Return a random floating-point value between the two inputs.
</constant>
<constant name="MATH_SEED" value="32">
Set the seed for the random number generator.
</constant>
<constant name="MATH_RANDSEED" value="33">
Return a random value from the given seed, along with the new seed.
</constant>
<constant name="MATH_DEG2RAD" value="34">
Convert the input from degrees to radians.
</constant>
<constant name="MATH_RAD2DEG" value="35">
Convert the input from radians to degrees.
</constant>
<constant name="MATH_LINEAR2DB" value="36">
Convert the input from linear volume to decibel volume.
</constant>
<constant name="MATH_DB2LINEAR" value="37">
Convert the input from decibel volume to linear volume.
</constant>
<constant name="LOGIC_MAX" value="38">
Return the greater of the two numbers, also known as their maximum.
</constant>
<constant name="LOGIC_MIN" value="39">
Return the lesser of the two numbers, also known as their minimum.
</constant>
<constant name="LOGIC_CLAMP" value="40">
Return the input clamped inside the given range, ensuring the result is never outside it. Equivalent to `min(max(input, range_low), range_high)`
</constant>
<constant name="LOGIC_NEAREST_PO2" value="41">
Return the nearest power of 2 to the input.
</constant>
<constant name="OBJ_WEAKREF" value="42">
Create a [WeakRef] from the input.
</constant>
<constant name="FUNC_FUNCREF" value="43">
Create a [FuncRef] from the input.
</constant>
<constant name="TYPE_CONVERT" value="44">
Convert between types.
</constant>
<constant name="TYPE_OF" value="45">
Return the type of the input as an integer. Check [enum Variant.Type] for the integers that might be returned.
</constant>
<constant name="TYPE_EXISTS" value="46">
Checks if a type is registered in the [ClassDB].
</constant>
<constant name="TEXT_CHAR" value="47">
Return a character with the given ascii value.
</constant>
<constant name="TEXT_STR" value="48">
Convert the input to a string.
</constant>
<constant name="TEXT_PRINT" value="49">
Print the given string to the output window.
</constant>
<constant name="TEXT_PRINTERR" value="50">
Print the given string to the standard error output.
</constant>
<constant name="TEXT_PRINTRAW" value="51">
Print the given string to the standard output, without adding a newline.
</constant>
<constant name="VAR_TO_STR" value="52">
Serialize a [Variant] to a string.
</constant>
<constant name="STR_TO_VAR" value="53">
Deserialize a [Variant] from a string serialized using [VAR_TO_STR].
</constant>
<constant name="VAR_TO_BYTES" value="54">
Serialize a [Variant] to a [PoolByteArray].
</constant>
<constant name="BYTES_TO_VAR" value="55">
Deserialize a [Variant] from a [PoolByteArray] serialized using [VAR_TO_BYTES].
</constant>
<constant name="COLORN" value="56">
Return the [Color] with the given name and alpha ranging from 0 to 1. Note: names are defined in color_names.inc.
</constant>
<constant name="FUNC_MAX" value="57">
The maximum value the [member function] property can have.
</constant>
</constants>
</class>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptClassConstant" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node representing a constant from a class.
</brief_description>
<description>
A Visual Script node representing a constant from the classes, such as [@GlobalScope.TYPE_INT].
</description>
<tutorials>
</tutorials>
@ -40,8 +42,10 @@
</methods>
<members>
<member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
The type to get the constant from.
</member>
<member name="constant" type="String" setter="set_class_constant" getter="get_class_constant">
The name of the constant to return.
</member>
</members>
<constants>

View file

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptComment" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node used to store information for the developer.
</brief_description>
<description>
A Visual Script node used to display text, so that code is more readable and better documented.
Comment nodes can be resized so they encompass a group of nodes.
</description>
<tutorials>
</tutorials>
@ -54,10 +57,13 @@
</methods>
<members>
<member name="description" type="String" setter="set_description" getter="get_description">
The text inside the comment node.
</member>
<member name="size" type="Vector2" setter="set_size" getter="get_size">
The size (in pixels) of the comment node.
</member>
<member name="title" type="String" setter="set_title" getter="get_title">
The title of the comment node.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptCondition" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node which branches the flow.
</brief_description>
<description>
A Visual Script node which switches the flow based on a boolean. It acts similar to if/else in typical programming languages.
</description>
<tutorials>
</tutorials>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptConstant" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node which returns a constant value.
</brief_description>
<description>
A Visual Script node which returns the specified constant value.
</description>
<tutorials>
</tutorials>
@ -40,8 +42,10 @@
</methods>
<members>
<member name="type" type="int" setter="set_constant_type" getter="get_constant_type" enum="Variant.Type">
The constant's type.
</member>
<member name="value" type="Variant" setter="set_constant_value" getter="get_constant_value">
The constant's value.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptConstructor" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node which calls a base type constructor.
</brief_description>
<description>
A Visual Script node which calls a base type constructor. It can be used for type conversion as well.
</description>
<tutorials>
</tutorials>
@ -40,8 +42,26 @@
</methods>
<members>
<member name="constructor" type="Dictionary" setter="set_constructor" getter="get_constructor">
The constructor function's method info. Has roughly the following structure:
[codeblock]
{
name = "string",
args = [{
name = "string"
class_name = "string"
type = TYPE_*
hint = PROPERTY_HINT_*
hint_string = "string"
}]
default_args = [] # Array of variants
flags = METHOD_FLAG_*
id = 0
return = {type = TYPE_*}
}
[/codeblock]
</member>
<member name="type" type="int" setter="set_constructor_type" getter="get_constructor_type" enum="Variant.Type">
The type to be constructed.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptCustomNode" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A scripted Visual Script node.
</brief_description>
<description>
A custom Visual Script node which can be scripted in powerful ways.
</description>
<tutorials>
</tutorials>
@ -13,18 +15,21 @@
<return type="String">
</return>
<description>
Return the node's title.
</description>
</method>
<method name="_get_category" qualifiers="virtual">
<return type="String">
</return>
<description>
Return the node's category.
</description>
</method>
<method name="_get_input_value_port_count" qualifiers="virtual">
<return type="int">
</return>
<description>
Return the count of input value ports.
</description>
</method>
<method name="_get_input_value_port_name" qualifiers="virtual">
@ -33,6 +38,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the specified input port's name.
</description>
</method>
<method name="_get_input_value_port_type" qualifiers="virtual">
@ -41,12 +47,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the specified input port's type. See the TYPE_* enum in [@GlobalScope].
</description>
</method>
<method name="_get_output_sequence_port_count" qualifiers="virtual">
<return type="int">
</return>
<description>
Return the amount of output [b]sequence[/b] ports.
</description>
</method>
<method name="_get_output_sequence_port_text" qualifiers="virtual">
@ -55,12 +63,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the specified [b]sequence[/b] output's name.
</description>
</method>
<method name="_get_output_value_port_count" qualifiers="virtual">
<return type="int">
</return>
<description>
Return the amount of output value ports.
</description>
</method>
<method name="_get_output_value_port_name" qualifiers="virtual">
@ -69,6 +79,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the specified output's name.
</description>
</method>
<method name="_get_output_value_port_type" qualifiers="virtual">
@ -77,24 +88,28 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the specified output's type. See the TYPE_* enum in [@GlobalScope].
</description>
</method>
<method name="_get_text" qualifiers="virtual">
<return type="String">
</return>
<description>
Return the custom node's text, which is shown right next to the input [b]sequence[/b] port (if there is none, on the place that is usually taken by it).
</description>
</method>
<method name="_get_working_memory_size" qualifiers="virtual">
<return type="int">
</return>
<description>
Return the size of the custom node's working memory. See [method _step] for more details.
</description>
</method>
<method name="_has_input_sequence_port" qualifiers="virtual">
<return type="bool">
</return>
<description>
Return whether the custom node has an input [b]sequence[/b] port.
</description>
</method>
<method name="_step" qualifiers="virtual">
@ -109,25 +124,42 @@
<argument index="3" name="working_mem" type="Array">
</argument>
<description>
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 [code]inputs[/code] array contains the values of the input ports.
[code]outputs[/code] is an array whose indices should be set to the respective outputs.
The [code]start_mode[/code] is usually [code]START_MODE_BEGIN_SEQUENCE[/code], unless you have used the STEP_* constants.
[code]working_mem[/code] 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.
</description>
</method>
</methods>
<constants>
<constant name="START_MODE_BEGIN_SEQUENCE" value="0">
The start mode used the first time when [method _step] is called.
</constant>
<constant name="START_MODE_CONTINUE_SEQUENCE" value="1">
The start mode used when [method _step] is called after coming back from a STEP_PUSH_STACK_BIT.
</constant>
<constant name="START_MODE_RESUME_YIELD" value="2">
The start mode used when [method _step] is called after resuming from STEP_YIELD_BIT.
</constant>
<constant name="STEP_PUSH_STACK_BIT" value="16777216" enum="">
Hint used by [method _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.
</constant>
<constant name="STEP_GO_BACK_BIT" value="33554432" enum="">
Hint used by [method _step] to tell that control should return back, either hitting a previous STEP_PUSH_STACK_BIT or exiting the function.
</constant>
<constant name="STEP_NO_ADVANCE_BIT" value="67108864" enum="">
</constant>
<constant name="STEP_EXIT_FUNCTION_BIT" value="134217728" enum="">
Hint used by [method _step] to tell that control should stop and exit the function.
</constant>
<constant name="STEP_YIELD_BIT" value="268435456" enum="">
Hint used by [method _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].
</constant>
</constants>
</class>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptDeconstruct" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node which deconstructs a base type instance into its parts.
</brief_description>
<description>
A Visual Script node which deconstructs a base type instance into its parts.
</description>
<tutorials>
</tutorials>
@ -28,6 +30,7 @@
<member name="elem_cache" type="Array" setter="_set_elem_cache" getter="_get_elem_cache">
</member>
<member name="type" type="int" setter="set_deconstruct_type" getter="get_deconstruct_type" enum="Variant.Type">
The type to deconstruct.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptEmitSignal" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node which emits a specified signal.
</brief_description>
<description>
A Visual Script node which emits a specified signal when it is executed.
</description>
<tutorials>
</tutorials>
@ -26,6 +28,7 @@
</methods>
<members>
<member name="signal" type="String" setter="set_signal" getter="get_signal">
The signal to emit.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptEngineSingleton" inherits="VisualScriptNode" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A Visual Script node returning a singleton from [@GlobalScope]
</brief_description>
<description>
A Visual Script node returning a singleton from [@GlobalScope]
</description>
<tutorials>
</tutorials>
@ -26,6 +28,7 @@
</methods>
<members>
<member name="constant" type="String" setter="set_singleton" getter="get_singleton">
The singleton's name.
</member>
</members>
<constants>

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualScriptNode" inherits="Resource" category="Core" version="3.0.alpha.custom_build">
<brief_description>
A node which is part of a [VisualScript].
</brief_description>
<description>
A node which is part of a [VisualScript]. Not to be confused with [Node], which is a part of a [SceneTree].
</description>
<tutorials>
</tutorials>
@ -15,12 +17,21 @@
<argument index="0" name="port_idx" type="int">
</argument>
<description>
Returns the default value of a given port. The default value is used when nothing is connected to the port.
</description>
</method>
<method name="get_visual_script" qualifiers="const">
<return type="VisualScript">
</return>
<description>
Returns the [VisualScript] instance the node is bound to.
</description>
</method>
<method name="ports_changed_notify">
<return type="void">
</return>
<description>
Notify that the node's ports have changed. Usually used in conjunction with [VisualScriptCustomNode] .
</description>
</method>
<method name="set_default_input_value">
@ -31,6 +42,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
Change the default value of a given port.
</description>
</method>
</methods>
@ -41,6 +53,7 @@
<signals>
<signal name="ports_changed">
<description>
Emitted when the available input/output ports are changed.
</description>
</signal>
</signals>

View file

@ -125,6 +125,7 @@ void VisualScriptNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_visual_script"), &VisualScriptNode::get_visual_script);
ClassDB::bind_method(D_METHOD("set_default_input_value", "port_idx", "value"), &VisualScriptNode::set_default_input_value);
ClassDB::bind_method(D_METHOD("get_default_input_value", "port_idx"), &VisualScriptNode::get_default_input_value);
ClassDB::bind_method(D_METHOD("ports_changed_notify"), &VisualScriptNode::ports_changed_notify);
ClassDB::bind_method(D_METHOD("_set_default_input_values", "values"), &VisualScriptNode::_set_default_input_values);
ClassDB::bind_method(D_METHOD("_get_default_input_values"), &VisualScriptNode::_get_default_input_values);

View file

@ -1598,7 +1598,7 @@ VisualScriptNodeInstance *VisualScriptClassConstant::instance(VisualScriptInstan
void VisualScriptClassConstant::_validate_property(PropertyInfo &property) const {
if (property.name == "constant/constant") {
if (property.name == "constant") {
List<String> constants;
ClassDB::get_integer_constant_list(base_type, &constants, true);
@ -1727,7 +1727,7 @@ VisualScriptNodeInstance *VisualScriptBasicTypeConstant::instance(VisualScriptIn
void VisualScriptBasicTypeConstant::_validate_property(PropertyInfo &property) const {
if (property.name == "constant/constant") {
if (property.name == "constant") {
List<StringName> constants;
Variant::get_numeric_constants_for_type(type, &constants);
@ -2689,7 +2689,7 @@ VisualScriptNodeInstance *VisualScriptCustomNode::instance(VisualScriptInstance
}
void VisualScriptCustomNode::_script_changed() {
ports_changed_notify();
call_deferred("ports_changed_notify");
}
void VisualScriptCustomNode::_bind_methods() {