Fix a connection bug in visual shaders
This commit is contained in:
parent
56d7126864
commit
2736c389aa
|
@ -888,6 +888,7 @@ void VisualShaderGraphPlugin::remove_node(VisualShader::Type p_type, int p_id) {
|
|||
void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
|
||||
if (visual_shader->get_shader_type() == p_type) {
|
||||
VisualShaderEditor::get_singleton()->graph->connect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port);
|
||||
connections.push_back({ p_from_node, p_from_port, p_to_node, p_to_port });
|
||||
if (links[p_to_node].input_ports.has(p_to_port) && links[p_to_node].input_ports[p_to_port].default_input_button != nullptr) {
|
||||
links[p_to_node].input_ports[p_to_port].default_input_button->hide();
|
||||
}
|
||||
|
@ -897,6 +898,12 @@ void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_fro
|
|||
void VisualShaderGraphPlugin::disconnect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
|
||||
if (visual_shader->get_shader_type() == p_type) {
|
||||
VisualShaderEditor::get_singleton()->graph->disconnect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port);
|
||||
for (List<VisualShader::Connection>::Element *E = connections.front(); E; E = E->next()) {
|
||||
if (E->get().from_node == p_from_node && E->get().from_port == p_from_port && E->get().to_node == p_to_node && E->get().to_port == p_to_port) {
|
||||
connections.erase(E);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (links[p_to_node].input_ports.has(p_to_port) && links[p_to_node].input_ports[p_to_port].default_input_button != nullptr && links[p_to_node].visual_node->get_input_port_default_value(p_to_port).get_type() != Variant::NIL) {
|
||||
links[p_to_node].input_ports[p_to_port].default_input_button->show();
|
||||
set_input_port_default_value(p_type, p_to_node, p_to_port, links[p_to_node].visual_node->get_input_port_default_value(p_to_port));
|
||||
|
|
Loading…
Reference in New Issue