mirror of
https://github.com/godotengine/godot-visual-script.git
synced 2025-12-31 21:48:42 +03:00
We've made several updates to improve our codebase and application performance. - Clang format was applied for better readability and consistency, aiding other developers in understanding and contributing to the code. - We resolved issues that were causing visual script compilation failure. The visual script now compiles successfully, ensuring application functionality. - Broken sections within the codebase were fixed, improving overall stability. - Built-in functions from the visual script were removed to simplify the code and enhance readability. - Generic search performance was improved to provide faster results, enhancing user experience. - Missing flow nodes were added to the Visual Script, ensuring all necessary components are present for correct functioning. In an effort to streamline the codebase: - `VisualScriptComment` class and related code were removed, reducing complexity and improving maintainability. - Error messages were optimized for quicker feedback when errors occur. - Licenses were updated to reflect recent changes, ensuring legal compliance and project transparency. - The `get_global_name()` override in `visual_script.h` was fixed, and `TYPE_BUILTIN_FUNC` in `visual_script_expression.h` was removed, improving code functionality. - Search logic was refactored to avoid double searching, enhancing performance. - Documentation was updated to reflect recent changes, providing accurate information to users and developers. - Property selection logic in `VisualScriptPropertySelector` was refactored for easier understanding and modification. - Code was refactored to avoid variable shadowing, improving readability and reducing potential errors. - `.clang-format` and `.clang-tidy` configuration files were added to ensure consistent code styling. To make the code more robust and easier to understand: - Variable names were corrected for clarity, and error handling in `visual_script_expression.cpp` was improved. - Function and variable names were refactored for better readability and maintainability. - Member editing logic in `VisualScriptEditor` was simplified. - Name variables were updated to be unique, avoiding potential conflicts and errors. - The `VisualScriptSubCall` class was refactored for simplicity and ease of understanding. For macOS workflow: - It was updated to use the latest version and correct path for installing Vulkan SDK, enabling the application to leverage the latest features and improvements from the Vulkan SDK. - Mac Vulkan SDK was installed to support Vulkan-based functionalities. Lastly, we made necessary changes to pass CI/CD tests, ensuring the code quality and stability of the application.
167 lines
7.0 KiB
XML
167 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="VisualScriptCustomNode" inherits="VisualScriptNode" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
|
|
<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>
|
|
<methods>
|
|
<method name="_get_caption" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<description>
|
|
Returns the node's title.
|
|
</description>
|
|
</method>
|
|
<method name="_get_category" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<description>
|
|
Returns the node's category.
|
|
</description>
|
|
</method>
|
|
<method name="_get_input_value_port_count" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the count of input value ports.
|
|
</description>
|
|
</method>
|
|
<method name="_get_input_value_port_hint" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<param index="0" name="input_idx" type="int" />
|
|
<description>
|
|
Returns the specified input port's hint. See the [enum @GlobalScope.PropertyHint] hints.
|
|
</description>
|
|
</method>
|
|
<method name="_get_input_value_port_hint_string" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<param index="0" name="input_idx" type="int" />
|
|
<description>
|
|
Returns the specified input port's hint string.
|
|
</description>
|
|
</method>
|
|
<method name="_get_input_value_port_name" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<param index="0" name="input_idx" type="int" />
|
|
<description>
|
|
Returns the specified input port's name.
|
|
</description>
|
|
</method>
|
|
<method name="_get_input_value_port_type" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<param index="0" name="input_idx" type="int" />
|
|
<description>
|
|
Returns the specified input port's type. See the [enum Variant.Type] values.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_sequence_port_count" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the amount of output [b]sequence[/b] ports.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_sequence_port_text" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<param index="0" name="seq_idx" type="int" />
|
|
<description>
|
|
Returns the specified [b]sequence[/b] output's name.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_value_port_count" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the amount of output value ports.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_value_port_hint" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<param index="0" name="output_idx" type="int" />
|
|
<description>
|
|
Returns the specified output port's hint. See the [enum @GlobalScope.PropertyHint] hints.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_value_port_hint_string" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<param index="0" name="output_idx" type="int" />
|
|
<description>
|
|
Returns the specified output port's hint string.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_value_port_name" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<param index="0" name="output_idx" type="int" />
|
|
<description>
|
|
Returns the specified output port's name.
|
|
</description>
|
|
</method>
|
|
<method name="_get_output_value_port_type" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<param index="0" name="output_idx" type="int" />
|
|
<description>
|
|
Returns the specified output port's type. See the [enum Variant.Type] values.
|
|
</description>
|
|
</method>
|
|
<method name="_get_text" qualifiers="virtual const">
|
|
<return type="String" />
|
|
<description>
|
|
Returns 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 const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns 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 const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns whether the custom node has an input [b]sequence[/b] port.
|
|
</description>
|
|
</method>
|
|
<method name="_step" qualifiers="virtual const">
|
|
<return type="Variant" />
|
|
<param index="0" name="inputs" type="Array" />
|
|
<param index="1" name="outputs" type="Array" />
|
|
<param index="2" name="start_mode" type="int" />
|
|
<param index="3" name="working_mem" type="Array" />
|
|
<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 [constant START_MODE_BEGIN_SEQUENCE], unless you have used the [code]STEP_*[/code] constants.
|
|
[code]working_mem[/code] is an array which can be used to persist information between runs of the custom node. The size needs to be predefined using [method _get_working_memory_size].
|
|
When returning, you can mask the returned value with one of the [code]STEP_*[/code] constants.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
<constant name="START_MODE_BEGIN_SEQUENCE" value="0" enum="StartMode">
|
|
The start mode used the first time when [method _step] is called.
|
|
</constant>
|
|
<constant name="START_MODE_CONTINUE_SEQUENCE" value="1" enum="StartMode">
|
|
The start mode used when [method _step] is called after coming back from a [constant STEP_PUSH_STACK_BIT].
|
|
</constant>
|
|
<constant name="START_MODE_RESUME_YIELD" value="2" enum="StartMode">
|
|
The start mode used when [method _step] is called after resuming from [constant STEP_YIELD_BIT].
|
|
</constant>
|
|
<constant name="STEP_PUSH_STACK_BIT" value="16777216">
|
|
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 [code]true[/code]/[code]false[/code] branch has finished execution.
|
|
</constant>
|
|
<constant name="STEP_GO_BACK_BIT" value="33554432">
|
|
Hint used by [method _step] to tell that control should return back, either hitting a previous [constant STEP_PUSH_STACK_BIT] or exiting the function.
|
|
</constant>
|
|
<constant name="STEP_NO_ADVANCE_BIT" value="67108864">
|
|
</constant>
|
|
<constant name="STEP_EXIT_FUNCTION_BIT" value="134217728">
|
|
Hint used by [method _step] to tell that control should stop and exit the function.
|
|
</constant>
|
|
<constant name="STEP_YIELD_BIT" value="268435456">
|
|
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>
|