@@ -337,6 +337,16 @@ const List<Ref<GraphEdit::Connection>> &GraphEdit::get_connection_list() const {
337337 return connections;
338338}
339339
340+ int GraphEdit::get_connection_count (const StringName &p_node, int p_port) {
341+ int count = 0 ;
342+ for (const Ref<Connection> &conn : connections) {
343+ if ((conn->from_node == p_node && conn->from_port == p_port) || (conn->to_node == p_node && conn->to_port == p_port)) {
344+ count += 1 ;
345+ }
346+ }
347+ return count;
348+ }
349+
340350void GraphEdit::set_scroll_offset (const Vector2 &p_offset) {
341351 setting_scroll_offset = true ;
342352 h_scrollbar->set_value (p_offset.x );
@@ -2640,6 +2650,7 @@ void GraphEdit::_bind_methods() {
26402650 ClassDB::bind_method (D_METHOD (" disconnect_node" , " from_node" , " from_port" , " to_node" , " to_port" ), &GraphEdit::disconnect_node);
26412651 ClassDB::bind_method (D_METHOD (" set_connection_activity" , " from_node" , " from_port" , " to_node" , " to_port" , " amount" ), &GraphEdit::set_connection_activity);
26422652 ClassDB::bind_method (D_METHOD (" get_connection_list" ), &GraphEdit::_get_connection_list);
2653+ ClassDB::bind_method (D_METHOD (" get_connection_count" , " from_node" , " from_port" ), &GraphEdit::get_connection_count);
26432654 ClassDB::bind_method (D_METHOD (" get_closest_connection_at_point" , " point" , " max_distance" ), &GraphEdit::_get_closest_connection_at_point, DEFVAL (4.0 ));
26442655 ClassDB::bind_method (D_METHOD (" get_connections_intersecting_with_rect" , " rect" ), &GraphEdit::_get_connections_intersecting_with_rect);
26452656 ClassDB::bind_method (D_METHOD (" clear_connections" ), &GraphEdit::clear_connections);
0 commit comments