[3.x] Prevents some warnings from appearing in visual scripts

This commit is contained in:
Yuri Roubinsky 2021-08-03 11:27:45 +03:00
parent 38d47c051a
commit 96f957f93b
2 changed files with 19 additions and 2 deletions

View File

@ -2869,6 +2869,20 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
ERR_FAIL_COND(from_seq != to_seq);
// Checking to prevent warnings.
if (from_seq) {
if (script->has_sequence_connection(from_func, p_from.to_int(), from_port, p_to.to_int())) {
return;
}
} else if (script->has_data_connection(from_func, p_from.to_int(), from_port, p_to.to_int(), to_port)) {
return;
}
// Preventing connection to itself.
if (p_from.to_int() == p_to.to_int()) {
return;
}
// Do all the checks here
StringName func; // this the func where we store the one the nodes at the end of the resolution on having multiple nodes
@ -3357,7 +3371,7 @@ VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_port_ac
Ref<VisualScriptNode> node = script->get_node(func, p_port_action_node);
if (!node.is_valid()) {
if (!node.is_valid() || node->get_output_value_port_count() <= p_port_action_output) {
return tg;
}

View File

@ -188,7 +188,10 @@ 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());
// Need to check it without ERR_FAIL_COND, to prevent warnings from appearing on node creation via dragging.
if (p_idx < 0 || p_idx >= arguments.size()) {
return PropertyInfo();
}
PropertyInfo out;
out.type = arguments[p_idx].type;
out.name = arguments[p_idx].name;