Fix GraphEdit's valid connections being reversed
This commit is contained in:
parent
83d2673772
commit
b29aff8dac
1 changed files with 5 additions and 14 deletions
|
@ -696,7 +696,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_output_hotzone(gn, j, mpos, port_size)) {
|
if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_output_hotzone(gn, j, mpos, port_size)) {
|
||||||
connecting_target = true;
|
connecting_target = true;
|
||||||
connecting_to = pos;
|
connecting_to = pos;
|
||||||
connecting_target_to = gn->get_name();
|
connecting_target_to = gn->get_name();
|
||||||
|
@ -708,7 +708,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_input_hotzone(gn, j, mpos, port_size)) {
|
if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_input_hotzone(gn, j, mpos, port_size)) {
|
||||||
connecting_target = true;
|
connecting_target = true;
|
||||||
connecting_to = pos;
|
connecting_to = pos;
|
||||||
connecting_target_to = gn->get_name();
|
connecting_target_to = gn->get_name();
|
||||||
|
@ -1568,26 +1568,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;
|
ConnType ct(p_type, p_with_type);
|
||||||
ct.type_a = p_type;
|
|
||||||
ct.type_b = 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;
|
ConnType ct(p_type, p_with_type);
|
||||||
ct.type_a = p_type;
|
|
||||||
ct.type_b = 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;
|
ConnType ct(p_type, p_with_type);
|
||||||
ct.type_a = p_type;
|
|
||||||
ct.type_b = p_with_type;
|
|
||||||
|
|
||||||
return valid_connection_types.has(ct);
|
return valid_connection_types.has(ct);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue