|
@@ -670,7 +670,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
|
|
for (int j = 0; j < gn->get_connection_output_count(); j++) {
|
|
for (int j = 0; j < gn->get_connection_output_count(); j++) {
|
|
Vector2 pos = gn->get_connection_output_position(j) + gn->get_position();
|
|
Vector2 pos = gn->get_connection_output_position(j) + gn->get_position();
|
|
int type = gn->get_connection_output_type(j);
|
|
int type = gn->get_connection_output_type(j);
|
|
- if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && is_in_hot_zone(pos / zoom, mpos, port_size, false)) {
|
|
|
|
|
|
+ if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_hot_zone(pos / zoom, mpos, port_size, false)) {
|
|
connecting_target = true;
|
|
connecting_target = true;
|
|
connecting_to = pos;
|
|
connecting_to = pos;
|
|
connecting_target_to = gn->get_name();
|
|
connecting_target_to = gn->get_name();
|
|
@@ -682,7 +682,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
|
|
for (int j = 0; j < gn->get_connection_input_count(); j++) {
|
|
for (int j = 0; j < gn->get_connection_input_count(); j++) {
|
|
Vector2 pos = gn->get_connection_input_position(j) + gn->get_position();
|
|
Vector2 pos = gn->get_connection_input_position(j) + gn->get_position();
|
|
int type = gn->get_connection_input_type(j);
|
|
int type = gn->get_connection_input_type(j);
|
|
- if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && is_in_hot_zone(pos / zoom, mpos, port_size, true)) {
|
|
|
|
|
|
+ if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_hot_zone(pos / zoom, mpos, port_size, true)) {
|
|
connecting_target = true;
|
|
connecting_target = true;
|
|
connecting_to = pos;
|
|
connecting_to = pos;
|
|
connecting_target_to = gn->get_name();
|
|
connecting_target_to = gn->get_name();
|
|
@@ -1554,26 +1554,17 @@ void GraphEdit::_update_zoom_label() {
|
|
}
|
|
}
|
|
|
|
|
|
void GraphEdit::add_valid_connection_type(int p_type, int p_with_type) {
|
|
void GraphEdit::add_valid_connection_type(int p_type, int p_with_type) {
|
|
- ConnType ct;
|
|
|
|
- ct.type_a = p_type;
|
|
|
|
- ct.type_b = p_with_type;
|
|
|
|
-
|
|
|
|
|
|
+ ConnType ct(p_type, p_with_type);
|
|
valid_connection_types.insert(ct);
|
|
valid_connection_types.insert(ct);
|
|
}
|
|
}
|
|
|
|
|
|
void GraphEdit::remove_valid_connection_type(int p_type, int p_with_type) {
|
|
void GraphEdit::remove_valid_connection_type(int p_type, int p_with_type) {
|
|
- ConnType ct;
|
|
|
|
- ct.type_a = p_type;
|
|
|
|
- ct.type_b = p_with_type;
|
|
|
|
-
|
|
|
|
|
|
+ ConnType ct(p_type, p_with_type);
|
|
valid_connection_types.erase(ct);
|
|
valid_connection_types.erase(ct);
|
|
}
|
|
}
|
|
|
|
|
|
bool GraphEdit::is_valid_connection_type(int p_type, int p_with_type) const {
|
|
bool GraphEdit::is_valid_connection_type(int p_type, int p_with_type) const {
|
|
- ConnType ct;
|
|
|
|
- ct.type_a = p_type;
|
|
|
|
- ct.type_b = p_with_type;
|
|
|
|
-
|
|
|
|
|
|
+ ConnType ct(p_type, p_with_type);
|
|
return valid_connection_types.has(ct);
|
|
return valid_connection_types.has(ct);
|
|
}
|
|
}
|
|
|
|
|