summaryrefslogtreecommitdiff
path: root/modules/visual_script
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-05-14 14:29:06 +0200
committerRémi Verschelde <rverschelde@gmail.com>2020-05-14 16:54:55 +0200
commit07bc4e2f96f8f47991339654ff4ab16acc19d44f (patch)
tree43cdc7cfe8239c23065616a931de3769d2db1e86 /modules/visual_script
parent0be6d925dc3c6413bce7a3ccb49631b8e4a6e67a (diff)
Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
Diffstat (limited to 'modules/visual_script')
-rw-r--r--modules/visual_script/visual_script.cpp41
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.cpp2
-rw-r--r--modules/visual_script/visual_script_editor.cpp1
-rw-r--r--modules/visual_script/visual_script_expression.cpp5
-rw-r--r--modules/visual_script/visual_script_flow_control.cpp18
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp15
-rw-r--r--modules/visual_script/visual_script_nodes.cpp67
-rw-r--r--modules/visual_script/visual_script_yield_nodes.cpp4
8 files changed, 153 insertions, 0 deletions
diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp
index 79516fa1ba..4d5e5200b6 100644
--- a/modules/visual_script/visual_script.cpp
+++ b/modules/visual_script/visual_script.cpp
@@ -178,6 +178,7 @@ void VisualScript::add_function(const StringName &p_name) {
bool VisualScript::has_function(const StringName &p_name) const {
return functions.has(p_name);
}
+
void VisualScript::remove_function(const StringName &p_name) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_name));
@@ -581,10 +582,12 @@ void VisualScript::set_variable_default_value(const StringName &p_name, const Va
_update_placeholders();
#endif
}
+
Variant VisualScript::get_variable_default_value(const StringName &p_name) const {
ERR_FAIL_COND_V(!variables.has(p_name), Variant());
return variables[p_name].default_value;
}
+
void VisualScript::set_variable_info(const StringName &p_name, const PropertyInfo &p_info) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!variables.has(p_name));
@@ -595,6 +598,7 @@ void VisualScript::set_variable_info(const StringName &p_name, const PropertyInf
_update_placeholders();
#endif
}
+
PropertyInfo VisualScript::get_variable_info(const StringName &p_name) const {
ERR_FAIL_COND_V(!variables.has(p_name), PropertyInfo());
return variables[p_name].info;
@@ -702,6 +706,7 @@ void VisualScript::add_custom_signal(const StringName &p_name) {
bool VisualScript::has_custom_signal(const StringName &p_name) const {
return custom_signals.has(p_name);
}
+
void VisualScript::custom_signal_add_argument(const StringName &p_func, Variant::Type p_type, const String &p_name, int p_index) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
@@ -713,28 +718,33 @@ void VisualScript::custom_signal_add_argument(const StringName &p_func, Variant:
else
custom_signals[p_func].insert(0, arg);
}
+
void VisualScript::custom_signal_set_argument_type(const StringName &p_func, int p_argidx, Variant::Type p_type) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
custom_signals[p_func].write[p_argidx].type = p_type;
}
+
Variant::Type VisualScript::custom_signal_get_argument_type(const StringName &p_func, int p_argidx) const {
ERR_FAIL_COND_V(!custom_signals.has(p_func), Variant::NIL);
ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), Variant::NIL);
return custom_signals[p_func][p_argidx].type;
}
+
void VisualScript::custom_signal_set_argument_name(const StringName &p_func, int p_argidx, const String &p_name) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
custom_signals[p_func].write[p_argidx].name = p_name;
}
+
String VisualScript::custom_signal_get_argument_name(const StringName &p_func, int p_argidx) const {
ERR_FAIL_COND_V(!custom_signals.has(p_func), String());
ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), String());
return custom_signals[p_func][p_argidx].name;
}
+
void VisualScript::custom_signal_remove_argument(const StringName &p_func, int p_argidx) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
@@ -746,6 +756,7 @@ int VisualScript::custom_signal_get_argument_count(const StringName &p_func) con
ERR_FAIL_COND_V(!custom_signals.has(p_func), 0);
return custom_signals[p_func].size();
}
+
void VisualScript::custom_signal_swap_argument(const StringName &p_func, int p_argidx, int p_with_argidx) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
@@ -754,6 +765,7 @@ void VisualScript::custom_signal_swap_argument(const StringName &p_func, int p_a
SWAP(custom_signals[p_func].write[p_argidx], custom_signals[p_func].write[p_with_argidx]);
}
+
void VisualScript::remove_custom_signal(const StringName &p_name) {
ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_name));
@@ -934,6 +946,7 @@ bool VisualScript::get_property_default_value(const StringName &p_property, Vari
r_value = variables[p_property].default_value;
return true;
}
+
void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const {
for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
MethodInfo mi;
@@ -957,6 +970,7 @@ void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const {
bool VisualScript::has_method(const StringName &p_method) const {
return functions.has(p_method);
}
+
MethodInfo VisualScript::get_method_info(const StringName &p_method) const {
const Map<StringName, Function>::Element *E = functions.find(p_method);
if (!E)
@@ -1392,6 +1406,7 @@ bool VisualScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
r_ret = E->get();
return true;
}
+
void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const {
for (const Map<StringName, VisualScript::Variable>::Element *E = script->variables.front(); E; E = E->next()) {
if (!E->get()._export)
@@ -1402,6 +1417,7 @@ void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) c
p_properties->push_back(p);
}
}
+
Variant::Type VisualScriptInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const {
const Map<StringName, VisualScript::Variable>::Element *E = script->variables.find(p_name);
if (!E) {
@@ -1444,6 +1460,7 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const {
p_list->push_back(mi);
}
}
+
bool VisualScriptInstance::has_method(const StringName &p_method) const {
if (p_method == script->get_default_func())
return false;
@@ -2369,25 +2386,32 @@ String VisualScriptLanguage::get_name() const {
/* LANGUAGE FUNCTIONS */
void VisualScriptLanguage::init() {
}
+
String VisualScriptLanguage::get_type() const {
return "VisualScript";
}
+
String VisualScriptLanguage::get_extension() const {
return "vs";
}
+
Error VisualScriptLanguage::execute_file(const String &p_path) {
return OK;
}
+
void VisualScriptLanguage::finish() {
}
/* EDITOR FUNCTIONS */
void VisualScriptLanguage::get_reserved_words(List<String> *p_words) const {
}
+
void VisualScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const {
}
+
void VisualScriptLanguage::get_string_delimiters(List<String> *p_delimiters) const {
}
+
Ref<Script> VisualScriptLanguage::get_template(const String &p_class_name, const String &p_base_class_name) const {
Ref<VisualScript> script;
script.instance();
@@ -2407,24 +2431,30 @@ void VisualScriptLanguage::make_template(const String &p_class_name, const Strin
bool VisualScriptLanguage::validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path, List<String> *r_functions, List<ScriptLanguage::Warning> *r_warnings, Set<int> *r_safe_lines) const {
return false;
}
+
Script *VisualScriptLanguage::create_script() const {
return memnew(VisualScript);
}
+
bool VisualScriptLanguage::has_named_classes() const {
return false;
}
+
bool VisualScriptLanguage::supports_builtin_mode() const {
return true;
}
+
int VisualScriptLanguage::find_function(const String &p_function, const String &p_code) const {
return -1;
}
+
String VisualScriptLanguage::make_function(const String &p_class, const String &p_name, const PackedStringArray &p_args) const {
return String();
}
void VisualScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int p_to_line) const {
}
+
void VisualScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) {
}
@@ -2466,6 +2496,7 @@ int VisualScriptLanguage::debug_get_stack_level_count() const {
return _debug_call_stack_pos;
}
+
int VisualScriptLanguage::debug_get_stack_level_line(int p_level) const {
if (_debug_parse_err_node >= 0)
return _debug_parse_err_node;
@@ -2476,6 +2507,7 @@ int VisualScriptLanguage::debug_get_stack_level_line(int p_level) const {
return *(_call_stack[l].current_id);
}
+
String VisualScriptLanguage::debug_get_stack_level_function(int p_level) const {
if (_debug_parse_err_node >= 0)
return "";
@@ -2484,6 +2516,7 @@ String VisualScriptLanguage::debug_get_stack_level_function(int p_level) const {
int l = _debug_call_stack_pos - p_level - 1;
return *_call_stack[l].function;
}
+
String VisualScriptLanguage::debug_get_stack_level_source(int p_level) const {
if (_debug_parse_err_node >= 0)
return _debug_parse_err_file;
@@ -2492,6 +2525,7 @@ String VisualScriptLanguage::debug_get_stack_level_source(int p_level) const {
int l = _debug_call_stack_pos - p_level - 1;
return _call_stack[l].instance->get_script_ptr()->get_path();
}
+
void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
if (_debug_parse_err_node >= 0)
return;
@@ -2565,6 +2599,7 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String
}
*/
}
+
void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
if (_debug_parse_err_node >= 0)
return;
@@ -2590,26 +2625,32 @@ void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<Strin
void VisualScriptLanguage::debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
//no globals are really reachable in gdscript
}
+
String VisualScriptLanguage::debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems, int p_max_depth) {
return "";
}
void VisualScriptLanguage::reload_all_scripts() {
}
+
void VisualScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) {
}
+
/* LOADER FUNCTIONS */
void VisualScriptLanguage::get_recognized_extensions(List<String> *p_extensions) const {
p_extensions->push_back("vs");
}
+
void VisualScriptLanguage::get_public_functions(List<MethodInfo> *p_functions) const {
}
+
void VisualScriptLanguage::get_public_constants(List<Pair<String, Variant>> *p_constants) const {
}
void VisualScriptLanguage::profiling_start() {
}
+
void VisualScriptLanguage::profiling_stop() {
}
diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp
index d4218318d3..953d9a5fed 100644
--- a/modules/visual_script/visual_script_builtin_funcs.cpp
+++ b/modules/visual_script/visual_script_builtin_funcs.cpp
@@ -223,6 +223,7 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
int VisualScriptBuiltinFunc::get_input_value_port_count() const {
return get_func_argument_count(func);
}
+
int VisualScriptBuiltinFunc::get_output_value_port_count() const {
switch (func) {
case MATH_RANDOMIZE:
@@ -627,6 +628,7 @@ String VisualScriptBuiltinFunc::get_caption() const {
return "BuiltinFunc";
}
+
*/
String VisualScriptBuiltinFunc::get_caption() const {
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index f7e9e30ed6..fb8aac9a01 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -1002,6 +1002,7 @@ void VisualScriptEditor::_update_node_size(int p_id) {
if (Object::cast_to<Control>(node))
Object::cast_to<Control>(node)->set_size(Vector2(1, 1)); //shrink if text is smaller
}
+
void VisualScriptEditor::_port_name_focus_out(const Node *p_name_box, int p_id, int p_port, bool is_input) {
StringName func = _get_function_of_node(p_id);
diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp
index e8fd3ef681..ee166082bd 100644
--- a/modules/visual_script/visual_script_expression.cpp
+++ b/modules/visual_script/visual_script_expression.cpp
@@ -129,6 +129,7 @@ bool VisualScriptExpression::_get(const StringName &p_name, Variant &r_ret) cons
return false;
}
+
void VisualScriptExpression::_get_property_list(List<PropertyInfo> *p_list) const {
String argt = "Any";
for (int i = 1; i < Variant::VARIANT_MAX; i++) {
@@ -149,6 +150,7 @@ void VisualScriptExpression::_get_property_list(List<PropertyInfo> *p_list) cons
int VisualScriptExpression::get_output_sequence_port_count() const {
return sequenced ? 1 : 0;
}
+
bool VisualScriptExpression::has_input_sequence_port() const {
return sequenced;
}
@@ -160,6 +162,7 @@ String VisualScriptExpression::get_output_sequence_port_text(int p_port) const {
int VisualScriptExpression::get_input_value_port_count() const {
return inputs.size();
}
+
int VisualScriptExpression::get_output_value_port_count() const {
return 1;
}
@@ -167,6 +170,7 @@ int VisualScriptExpression::get_output_value_port_count() const {
PropertyInfo VisualScriptExpression::get_input_value_port_info(int p_idx) const {
return PropertyInfo(inputs[p_idx].type, inputs[p_idx].name);
}
+
PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const {
return PropertyInfo(output_type, "result");
}
@@ -174,6 +178,7 @@ PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const
String VisualScriptExpression::get_caption() const {
return "Expression";
}
+
String VisualScriptExpression::get_text() const {
return expression;
}
diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp
index 1f04ea8301..96616c281e 100644
--- a/modules/visual_script/visual_script_flow_control.cpp
+++ b/modules/visual_script/visual_script_flow_control.cpp
@@ -49,6 +49,7 @@ bool VisualScriptReturn::has_input_sequence_port() const {
int VisualScriptReturn::get_input_value_port_count() const {
return with_value ? 1 : 0;
}
+
int VisualScriptReturn::get_output_value_port_count() const {
return 0;
}
@@ -63,6 +64,7 @@ PropertyInfo VisualScriptReturn::get_input_value_port_info(int p_idx) const {
pinfo.type = type;
return pinfo;
}
+
PropertyInfo VisualScriptReturn::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -170,6 +172,7 @@ bool VisualScriptCondition::has_input_sequence_port() const {
int VisualScriptCondition::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptCondition::get_output_value_port_count() const {
return 0;
}
@@ -189,6 +192,7 @@ PropertyInfo VisualScriptCondition::get_input_value_port_info(int p_idx) const {
pinfo.type = Variant::BOOL;
return pinfo;
}
+
PropertyInfo VisualScriptCondition::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -248,6 +252,7 @@ bool VisualScriptWhile::has_input_sequence_port() const {
int VisualScriptWhile::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptWhile::get_output_value_port_count() const {
return 0;
}
@@ -265,6 +270,7 @@ PropertyInfo VisualScriptWhile::get_input_value_port_info(int p_idx) const {
pinfo.type = Variant::BOOL;
return pinfo;
}
+
PropertyInfo VisualScriptWhile::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -305,6 +311,7 @@ VisualScriptNodeInstance *VisualScriptWhile::instance(VisualScriptInstance *p_in
instance->instance = p_instance;
return instance;
}
+
VisualScriptWhile::VisualScriptWhile() {
}
@@ -323,6 +330,7 @@ bool VisualScriptIterator::has_input_sequence_port() const {
int VisualScriptIterator::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptIterator::get_output_value_port_count() const {
return 1;
}
@@ -340,12 +348,14 @@ PropertyInfo VisualScriptIterator::get_input_value_port_info(int p_idx) const {
pinfo.type = Variant::NIL;
return pinfo;
}
+
PropertyInfo VisualScriptIterator::get_output_value_port_info(int p_idx) const {
PropertyInfo pinfo;
pinfo.name = "elem";
pinfo.type = Variant::NIL;
return pinfo;
}
+
String VisualScriptIterator::get_caption() const {
return "Iterator";
}
@@ -441,6 +451,7 @@ bool VisualScriptSequence::has_input_sequence_port() const {
int VisualScriptSequence::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptSequence::get_output_value_port_count() const {
return 1;
}
@@ -452,9 +463,11 @@ String VisualScriptSequence::get_output_sequence_port_text(int p_port) const {
PropertyInfo VisualScriptSequence::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
+
PropertyInfo VisualScriptSequence::get_output_value_port_info(int p_idx) const {
return PropertyInfo(Variant::INT, "current");
}
+
String VisualScriptSequence::get_caption() const {
return "Sequence";
}
@@ -518,6 +531,7 @@ VisualScriptNodeInstance *VisualScriptSequence::instance(VisualScriptInstance *p
instance->steps = steps;
return instance;
}
+
VisualScriptSequence::VisualScriptSequence() {
steps = 1;
}
@@ -537,6 +551,7 @@ bool VisualScriptSwitch::has_input_sequence_port() const {
int VisualScriptSwitch::get_input_value_port_count() const {
return case_values.size() + 1;
}
+
int VisualScriptSwitch::get_output_value_port_count() const {
return 0;
}
@@ -636,6 +651,7 @@ bool VisualScriptSwitch::_get(const StringName &p_name, Variant &r_ret) const {
return false;
}
+
void VisualScriptSwitch::_get_property_list(List<PropertyInfo> *p_list) const {
p_list->push_back(PropertyInfo(Variant::INT, "case_count", PROPERTY_HINT_RANGE, "0,128"));
@@ -670,6 +686,7 @@ bool VisualScriptTypeCast::has_input_sequence_port() const {
int VisualScriptTypeCast::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptTypeCast::get_output_value_port_count() const {
return 1;
}
@@ -718,6 +735,7 @@ void VisualScriptTypeCast::set_base_script(const String &p_path) {
_change_notify();
ports_changed_notify();
}
+
String VisualScriptTypeCast::get_base_script() const {
return script;
}
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index 4ba0c27ec0..e7cb2f5473 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -134,6 +134,7 @@ int VisualScriptFunctionCall::get_input_value_port_count() const {
return method_cache.arguments.size() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - defaulted_args;
}
}
+
int VisualScriptFunctionCall::get_output_value_port_count() const {
if (call_mode == CALL_MODE_BASIC_TYPE) {
bool returns = false;
@@ -410,6 +411,7 @@ void VisualScriptFunctionCall::set_function(const StringName &p_type) {
_change_notify();
ports_changed_notify();
}
+
StringName VisualScriptFunctionCall::get_function() const {
return function;
}
@@ -435,6 +437,7 @@ void VisualScriptFunctionCall::set_call_mode(CallMode p_mode) {
_change_notify();
ports_changed_notify();
}
+
VisualScriptFunctionCall::CallMode VisualScriptFunctionCall::get_call_mode() const {
return call_mode;
}
@@ -927,6 +930,7 @@ int VisualScriptPropertySet::get_input_value_port_count() const {
return pc;
}
+
int VisualScriptPropertySet::get_output_value_port_count() const {
return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0;
}
@@ -1022,6 +1026,7 @@ void VisualScriptPropertySet::_update_base_type() {
}
}
}
+
void VisualScriptPropertySet::set_basic_type(Variant::Type p_type) {
if (basic_type == p_type)
return;
@@ -1149,6 +1154,7 @@ void VisualScriptPropertySet::set_property(const StringName &p_type) {
_change_notify();
ports_changed_notify();
}
+
StringName VisualScriptPropertySet::get_property() const {
return property;
}
@@ -1176,6 +1182,7 @@ void VisualScriptPropertySet::set_call_mode(CallMode p_mode) {
_change_notify();
ports_changed_notify();
}
+
VisualScriptPropertySet::CallMode VisualScriptPropertySet::get_call_mode() const {
return call_mode;
}
@@ -1550,6 +1557,7 @@ VisualScriptPropertySet::TypeGuess VisualScriptPropertySet::guess_output_type(Ty
return VisualScriptNode::guess_output_type(p_inputs, p_output);
}
+
VisualScriptPropertySet::VisualScriptPropertySet() {
assign_op = ASSIGN_OP_NONE;
call_mode = CALL_MODE_SELF;
@@ -1576,6 +1584,7 @@ int VisualScriptPropertyGet::get_output_sequence_port_count() const {
bool VisualScriptPropertyGet::has_input_sequence_port() const {
return false; //(call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?false:true;
}
+
void VisualScriptPropertyGet::_update_base_type() {
//cache it because this information may not be available on load
if (call_mode == CALL_MODE_NODE_PATH) {
@@ -1589,6 +1598,7 @@ void VisualScriptPropertyGet::_update_base_type() {
}
}
}
+
Node *VisualScriptPropertyGet::_get_base_node() const {
#ifdef TOOLS_ENABLED
Ref<Script> script = get_visual_script();
@@ -1639,6 +1649,7 @@ StringName VisualScriptPropertyGet::_get_base_type() const {
int VisualScriptPropertyGet::get_input_value_port_count() const {
return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0;
}
+
int VisualScriptPropertyGet::get_output_value_port_count() const {
return 1;
}
@@ -1806,6 +1817,7 @@ void VisualScriptPropertyGet::set_property(const StringName &p_type) {
_change_notify();
ports_changed_notify();
}
+
StringName VisualScriptPropertyGet::get_property() const {
return property;
}
@@ -1833,6 +1845,7 @@ void VisualScriptPropertyGet::set_call_mode(CallMode p_mode) {
_update_base_type();
ports_changed_notify();
}
+
VisualScriptPropertyGet::CallMode VisualScriptPropertyGet::get_call_mode() const {
return call_mode;
}
@@ -2144,6 +2157,7 @@ int VisualScriptEmitSignal::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptEmitSignal::get_output_value_port_count() const {
return 0;
}
@@ -2181,6 +2195,7 @@ void VisualScriptEmitSignal::set_signal(const StringName &p_type) {
_change_notify();
ports_changed_notify();
}
+
StringName VisualScriptEmitSignal::get_signal() const {
return name;
}
diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp
index 8ae50c3b48..8d35da2685 100644
--- a/modules/visual_script/visual_script_nodes.cpp
+++ b/modules/visual_script/visual_script_nodes.cpp
@@ -143,6 +143,7 @@ bool VisualScriptFunction::_get(const StringName &p_name, Variant &r_ret) const
return false;
}
+
void VisualScriptFunction::_get_property_list(List<PropertyInfo> *p_list) const {
p_list->push_back(PropertyInfo(Variant::INT, "argument_count", PROPERTY_HINT_RANGE, "0,256"));
String argt = "Any";
@@ -175,6 +176,7 @@ bool VisualScriptFunction::has_input_sequence_port() const {
int VisualScriptFunction::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptFunction::get_output_value_port_count() const {
return arguments.size();
}
@@ -186,6 +188,7 @@ String VisualScriptFunction::get_output_sequence_port_text(int p_port) const {
PropertyInfo VisualScriptFunction::get_input_value_port_info(int p_idx) const {
ERR_FAIL_V(PropertyInfo());
}
+
PropertyInfo VisualScriptFunction::get_output_value_port_info(int p_idx) const {
ERR_FAIL_INDEX_V(p_idx, arguments.size(), PropertyInfo());
PropertyInfo out;
@@ -217,26 +220,31 @@ void VisualScriptFunction::add_argument(Variant::Type p_type, const String &p_na
ports_changed_notify();
}
+
void VisualScriptFunction::set_argument_type(int p_argidx, Variant::Type p_type) {
ERR_FAIL_INDEX(p_argidx, arguments.size());
arguments.write[p_argidx].type = p_type;
ports_changed_notify();
}
+
Variant::Type VisualScriptFunction::get_argument_type(int p_argidx) const {
ERR_FAIL_INDEX_V(p_argidx, arguments.size(), Variant::NIL);
return arguments[p_argidx].type;
}
+
void VisualScriptFunction::set_argument_name(int p_argidx, const String &p_name) {
ERR_FAIL_INDEX(p_argidx, arguments.size());
arguments.write[p_argidx].name = p_name;
ports_changed_notify();
}
+
String VisualScriptFunction::get_argument_name(int p_argidx) const {
ERR_FAIL_INDEX_V(p_argidx, arguments.size(), String());
return arguments[p_argidx].name;
}
+
void VisualScriptFunction::remove_argument(int p_argidx) {
ERR_FAIL_INDEX(p_argidx, arguments.size());
@@ -335,6 +343,7 @@ int VisualScriptLists::get_output_sequence_port_count() const {
return 1;
return 0;
}
+
bool VisualScriptLists::has_input_sequence_port() const {
return sequenced;
}
@@ -346,6 +355,7 @@ String VisualScriptLists::get_output_sequence_port_text(int p_port) const {
int VisualScriptLists::get_input_value_port_count() const {
return inputports.size();
}
+
int VisualScriptLists::get_output_value_port_count() const {
return outputports.size();
}
@@ -358,6 +368,7 @@ PropertyInfo VisualScriptLists::get_input_value_port_info(int p_idx) const {
pi.type = inputports[p_idx].type;
return pi;
}
+
PropertyInfo VisualScriptLists::get_output_value_port_info(int p_idx) const {
ERR_FAIL_INDEX_V(p_idx, outputports.size(), PropertyInfo());
@@ -370,9 +381,11 @@ PropertyInfo VisualScriptLists::get_output_value_port_info(int p_idx) const {
bool VisualScriptLists::is_input_port_editable() const {
return ((flags & INPUT_EDITABLE) == INPUT_EDITABLE);
}
+
bool VisualScriptLists::is_input_port_name_editable() const {
return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE);
}
+
bool VisualScriptLists::is_input_port_type_editable() const {
return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE);
}
@@ -380,9 +393,11 @@ bool VisualScriptLists::is_input_port_type_editable() const {
bool VisualScriptLists::is_output_port_editable() const {
return ((flags & OUTPUT_EDITABLE) == OUTPUT_EDITABLE);
}
+
bool VisualScriptLists::is_output_port_name_editable() const {
return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE);
}
+
bool VisualScriptLists::is_output_port_type_editable() const {
return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE);
}
@@ -467,6 +482,7 @@ bool VisualScriptLists::_set(const StringName &p_name, const Variant &p_value) {
return false;
}
+
bool VisualScriptLists::_get(const StringName &p_name, Variant &r_ret) const {
if (p_name == "input_count" && is_input_port_editable()) {
r_ret = inputports.size();
@@ -511,6 +527,7 @@ bool VisualScriptLists::_get(const StringName &p_name, Variant &r_ret) const {
return false;
}
+
void VisualScriptLists::_get_property_list(List<PropertyInfo> *p_list) const {
if (is_input_port_editable()) {
p_list->push_back(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,256"));
@@ -556,6 +573,7 @@ void VisualScriptLists::add_input_data_port(Variant::Type p_type, const String &
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::set_input_data_port_type(int p_idx, Variant::Type p_type) {
if (!is_input_port_type_editable())
return;
@@ -566,6 +584,7 @@ void VisualScriptLists::set_input_data_port_type(int p_idx, Variant::Type p_type
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::set_input_data_port_name(int p_idx, const String &p_name) {
if (!is_input_port_name_editable())
return;
@@ -576,6 +595,7 @@ void VisualScriptLists::set_input_data_port_name(int p_idx, const String &p_name
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::remove_input_data_port(int p_argidx) {
if (!is_input_port_editable())
return;
@@ -604,6 +624,7 @@ void VisualScriptLists::add_output_data_port(Variant::Type p_type, const String
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::set_output_data_port_type(int p_idx, Variant::Type p_type) {
if (!is_output_port_type_editable())
return;
@@ -614,6 +635,7 @@ void VisualScriptLists::set_output_data_port_type(int p_idx, Variant::Type p_typ
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::set_output_data_port_name(int p_idx, const String &p_name) {
if (!is_output_port_name_editable())
return;
@@ -624,6 +646,7 @@ void VisualScriptLists::set_output_data_port_name(int p_idx, const String &p_nam
ports_changed_notify();
_change_notify();
}
+
void VisualScriptLists::remove_output_data_port(int p_argidx) {
if (!is_output_port_editable())
return;
@@ -643,6 +666,7 @@ void VisualScriptLists::set_sequenced(bool p_enable) {
sequenced = p_enable;
ports_changed_notify();
}
+
bool VisualScriptLists::is_sequenced() const {
return sequenced;
}
@@ -674,6 +698,7 @@ int VisualScriptComposeArray::get_output_sequence_port_count() const {
return 1;
return 0;
}
+
bool VisualScriptComposeArray::has_input_sequence_port() const {
return sequenced;
}
@@ -685,6 +710,7 @@ String VisualScriptComposeArray::get_output_sequence_port_text(int p_port) const
int VisualScriptComposeArray::get_input_value_port_count() const {
return inputports.size();
}
+
int VisualScriptComposeArray::get_output_value_port_count() const {
return 1;
}
@@ -697,6 +723,7 @@ PropertyInfo VisualScriptComposeArray::get_input_value_port_info(int p_idx) cons
pi.type = inputports[p_idx].type;
return pi;
}
+
PropertyInfo VisualScriptComposeArray::get_output_value_port_info(int p_idx) const {
PropertyInfo pi;
pi.name = "out";
@@ -707,6 +734,7 @@ PropertyInfo VisualScriptComposeArray::get_output_value_port_info(int p_idx) con
String VisualScriptComposeArray::get_caption() const {
return "Compose Array";
}
+
String VisualScriptComposeArray::get_text() const {
return "";
}
@@ -757,6 +785,7 @@ bool VisualScriptOperator::has_input_sequence_port() const {
int VisualScriptOperator::get_input_value_port_count() const {
return (op == Variant::OP_BIT_NEGATE || op == Variant::OP_NOT || op == Variant::OP_NEGATE || op == Variant::OP_POSITIVE) ? 1 : 2;
}
+
int VisualScriptOperator::get_output_value_port_count() const {
return 1;
}
@@ -807,6 +836,7 @@ PropertyInfo VisualScriptOperator::get_input_value_port_info(int p_idx) const {
pinfo.type = typed;
return pinfo;
}
+
PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const {
static const Variant::Type port_types[Variant::OP_MAX] = {
//comparison
@@ -1030,6 +1060,7 @@ bool VisualScriptSelect::has_input_sequence_port() const {
int VisualScriptSelect::get_input_value_port_count() const {
return 3;
}
+
int VisualScriptSelect::get_output_value_port_count() const {
return 1;
}
@@ -1047,6 +1078,7 @@ PropertyInfo VisualScriptSelect::get_input_value_port_info(int p_idx) const {
return PropertyInfo(typed, "b");
}
}
+
PropertyInfo VisualScriptSelect::get_output_value_port_info(int p_idx) const {
return PropertyInfo(typed, "out");
}
@@ -1122,6 +1154,7 @@ bool VisualScriptVariableGet::has_input_sequence_port() const {
int VisualScriptVariableGet::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptVariableGet::get_output_value_port_count() const {
return 1;
}
@@ -1149,6 +1182,7 @@ PropertyInfo VisualScriptVariableGet::get_output_value_port_info(int p_idx) cons
String VisualScriptVariableGet::get_caption() const {
return "Get " + variable;
}
+
void VisualScriptVariableGet::set_variable(StringName p_variable) {
if (variable == p_variable)
return;
@@ -1209,6 +1243,7 @@ VisualScriptNodeInstance *VisualScriptVariableGet::instance(VisualScriptInstance
instance->variable = variable;
return instance;
}
+
VisualScriptVariableGet::VisualScriptVariableGet() {
}
@@ -1227,6 +1262,7 @@ bool VisualScriptVariableSet::has_input_sequence_port() const {
int VisualScriptVariableSet::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptVariableSet::get_output_value_port_count() const {
return 0;
}
@@ -1317,6 +1353,7 @@ VisualScriptNodeInstance *VisualScriptVariableSet::instance(VisualScriptInstance
instance->variable = variable;
return instance;
}
+
VisualScriptVariableSet::VisualScriptVariableSet() {
}
@@ -1335,6 +1372,7 @@ bool VisualScriptConstant::has_input_sequence_port() const {
int VisualScriptConstant::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptConstant::get_output_value_port_count() const {
return 1;
}
@@ -1380,6 +1418,7 @@ void VisualScriptConstant::set_constant_value(Variant p_value) {
value = p_value;
ports_changed_notify();
}
+
Variant VisualScriptConstant::get_constant_value() const {
return value;
}
@@ -1444,6 +1483,7 @@ bool VisualScriptPreload::has_input_sequence_port() const {
int VisualScriptPreload::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptPreload::get_output_value_port_count() const {
return 1;
}
@@ -1534,6 +1574,7 @@ bool VisualScriptIndexGet::has_input_sequence_port() const {
int VisualScriptIndexGet::get_input_value_port_count() const {
return 2;
}
+
int VisualScriptIndexGet::get_output_value_port_count() const {
return 1;
}
@@ -1578,6 +1619,7 @@ VisualScriptNodeInstance *VisualScriptIndexGet::instance(VisualScriptInstance *p
VisualScriptNodeInstanceIndexGet *instance = memnew(VisualScriptNodeInstanceIndexGet);
return instance;
}
+
VisualScriptIndexGet::VisualScriptIndexGet() {
}
@@ -1596,6 +1638,7 @@ bool VisualScriptIndexSet::has_input_sequence_port() const {
int VisualScriptIndexSet::get_input_value_port_count() const {
return 3;
}
+
int VisualScriptIndexSet::get_output_value_port_count() const {
return 0;
}
@@ -1644,6 +1687,7 @@ VisualScriptNodeInstance *VisualScriptIndexSet::instance(VisualScriptInstance *p
VisualScriptNodeInstanceIndexSet *instance = memnew(VisualScriptNodeInstanceIndexSet);
return instance;
}
+
VisualScriptIndexSet::VisualScriptIndexSet() {
}
@@ -1662,6 +1706,7 @@ bool VisualScriptGlobalConstant::has_input_sequence_port() const {
int VisualScriptGlobalConstant::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptGlobalConstant::get_output_value_port_count() const {
return 1;
}
@@ -1743,6 +1788,7 @@ bool VisualScriptClassConstant::has_input_sequence_port() const {
int VisualScriptClassConstant::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptClassConstant::get_output_value_port_count() const {
return 1;
}
@@ -1871,6 +1917,7 @@ bool VisualScriptBasicTypeConstant::has_input_sequence_port() const {
int VisualScriptBasicTypeConstant::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptBasicTypeConstant::get_output_value_port_count() const {
return 1;
}
@@ -2035,6 +2082,7 @@ bool VisualScriptMathConstant::has_input_sequence_port() const {
int VisualScriptMathConstant::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptMathConstant::get_output_value_port_count() const {
return 1;
}
@@ -2125,6 +2173,7 @@ bool VisualScriptEngineSingleton::has_input_sequence_port() const {
int VisualScriptEngineSingleton::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptEngineSingleton::get_output_value_port_count() const {
return 1;
}
@@ -2232,6 +2281,7 @@ bool VisualScriptSceneNode::has_input_sequence_port() const {
int VisualScriptSceneNode::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptSceneNode::get_output_value_port_count() const {
return 1;
}
@@ -2411,6 +2461,7 @@ bool VisualScriptSceneTree::has_input_sequence_port() const {
int VisualScriptSceneTree::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptSceneTree::get_output_value_port_count() const {
return 1;
}
@@ -2497,6 +2548,7 @@ bool VisualScriptResourcePath::has_input_sequence_port() const {
int VisualScriptResourcePath::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptResourcePath::get_output_value_port_count() const {
return 1;
}
@@ -2571,6 +2623,7 @@ bool VisualScriptSelf::has_input_sequence_port() const {
int VisualScriptSelf::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptSelf::get_output_value_port_count() const {
return 1;
}
@@ -2660,6 +2713,7 @@ int VisualScriptCustomNode::get_input_value_port_count() const {
}
return 0;
}
+
int VisualScriptCustomNode::get_output_value_port_count() const {
if (get_script_instance() && get_script_instance()->has_method("_get_output_value_port_count")) {
return get_script_instance()->call("_get_output_value_port_count");
@@ -2869,6 +2923,7 @@ int VisualScriptSubCall::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptSubCall::get_output_value_port_count() const {
return 1;
}
@@ -2973,6 +3028,7 @@ bool VisualScriptComment::has_input_sequence_port() const {
int VisualScriptComment::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptComment::get_output_value_port_count() const {
return 0;
}
@@ -3014,6 +3070,7 @@ void VisualScriptComment::set_description(const String &p_description) {
description = p_description;
ports_changed_notify();
}
+
String VisualScriptComment::get_description() const {
return description;
}
@@ -3024,6 +3081,7 @@ void VisualScriptComment::set_size(const Size2 &p_size) {
size = p_size;
ports_changed_notify();
}
+
Size2 VisualScriptComment::get_size() const {
return size;
}
@@ -3084,6 +3142,7 @@ bool VisualScriptConstructor::has_input_sequence_port() const {
int VisualScriptConstructor::get_input_value_port_count() const {
return constructor.arguments.size();
}
+
int VisualScriptConstructor::get_output_value_port_count() const {
return 1;
}
@@ -3199,6 +3258,7 @@ bool VisualScriptLocalVar::has_input_sequence_port() const {
int VisualScriptLocalVar::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptLocalVar::get_output_value_port_count() const {
return 1;
}
@@ -3210,6 +3270,7 @@ String VisualScriptLocalVar::get_output_sequence_port_text(int p_port) const {
PropertyInfo VisualScriptLocalVar::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
+
PropertyInfo VisualScriptLocalVar::get_output_value_port_info(int p_idx) const {
return PropertyInfo(type, name);
}
@@ -3299,6 +3360,7 @@ bool VisualScriptLocalVarSet::has_input_sequence_port() const {
int VisualScriptLocalVarSet::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptLocalVarSet::get_output_value_port_count() const {
return 1;
}
@@ -3310,6 +3372,7 @@ String VisualScriptLocalVarSet::get_output_sequence_port_text(int p_port) const
PropertyInfo VisualScriptLocalVarSet::get_input_value_port_info(int p_idx) const {
return PropertyInfo(type, "set");
}
+
PropertyInfo VisualScriptLocalVarSet::get_output_value_port_info(int p_idx) const {
return PropertyInfo(type, "get");
}
@@ -3404,6 +3467,7 @@ bool VisualScriptInputAction::has_input_sequence_port() const {
int VisualScriptInputAction::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptInputAction::get_output_value_port_count() const {
return 1;
}
@@ -3415,6 +3479,7 @@ String VisualScriptInputAction::get_output_sequence_port_text(int p_port) const
PropertyInfo VisualScriptInputAction::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
+
PropertyInfo VisualScriptInputAction::get_output_value_port_info(int p_idx) const {
String mstr;
switch (mode) {
@@ -3462,6 +3527,7 @@ void VisualScriptInputAction::set_action_mode(Mode p_mode) {
mode = p_mode;
ports_changed_notify();
}
+
VisualScriptInputAction::Mode VisualScriptInputAction::get_action_mode() const {
return mode;
}
@@ -3569,6 +3635,7 @@ bool VisualScriptDeconstruct::has_input_sequence_port() const {
int VisualScriptDeconstruct::get_input_value_port_count() const {
return 1;
}
+
int VisualScriptDeconstruct::get_output_value_port_count() const {
return elements.size();
}
diff --git a/modules/visual_script/visual_script_yield_nodes.cpp b/modules/visual_script/visual_script_yield_nodes.cpp
index e87f42c6e9..a035efd25d 100644
--- a/modules/visual_script/visual_script_yield_nodes.cpp
+++ b/modules/visual_script/visual_script_yield_nodes.cpp
@@ -50,6 +50,7 @@ bool VisualScriptYield::has_input_sequence_port() const {
int VisualScriptYield::get_input_value_port_count() const {
return 0;
}
+
int VisualScriptYield::get_output_value_port_count() const {
return 0;
}
@@ -288,6 +289,7 @@ int VisualScriptYieldSignal::get_input_value_port_count() const {
else
return 0;
}
+
int VisualScriptYieldSignal::get_output_value_port_count() const {
MethodInfo sr;
@@ -357,6 +359,7 @@ void VisualScriptYieldSignal::set_signal(const StringName &p_type) {
_change_notify();
ports_changed_notify();
}
+
StringName VisualScriptYieldSignal::get_signal() const {
return signal;
}
@@ -543,6 +546,7 @@ VisualScriptNodeInstance *VisualScriptYieldSignal::instance(VisualScriptInstance
instance->output_args = get_output_value_port_count();
return instance;
}
+
VisualScriptYieldSignal::VisualScriptYieldSignal() {
call_mode = CALL_MODE_SELF;
base_type = "Object";