Merge pull request #28836 from Jummit/vs-fix-default-call-modes

Change the call mode to self when adding nodes via the node search
This commit is contained in:
Rémi Verschelde 2019-05-24 17:44:54 +02:00 committed by GitHub
commit 3887fb3e6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2726,7 +2726,9 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
Ref<VisualScriptFunctionCall> vsfc = vsn;
vsfc->set_function(p_text);
if (p_connecting) {
VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
if (tg.type == Variant::OBJECT) {
vsfc->set_call_mode(VisualScriptFunctionCall::CALL_MODE_INSTANCE);
vsfc->set_base_type(String(""));
@ -2755,9 +2757,11 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
vsfc->set_basic_type(tg.type);
}
}
}
// if connecting from another node the call mode shouldn't be self
if (p_connecting) {
if (Object::cast_to<VisualScriptPropertySet>(vsn.ptr())) {
Ref<VisualScriptPropertySet> vsp = vsn;
VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
@ -2815,6 +2819,7 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
vsp->set_basic_type(tg.type);
}
}
}
Ref<VisualScriptNode> vnode_old = script->get_node(edited_func, port_action_node);
if (vnode_old.is_valid() && p_connecting) {
connect_seq(vnode_old, vnode, port_action_new_node);