Răsfoiți Sursa

Fix removing wrong vertices in the Polygon2D editor when points overlap each other

Nikita Samusev 2 luni în urmă
părinte
comite
83aa9cf57e
1 a modificat fișierele cu 3 adăugiri și 5 ștergeri
  1. 3 5
      editor/plugins/polygon_2d_editor_plugin.cpp

+ 3 - 5
editor/plugins/polygon_2d_editor_plugin.cpp

@@ -575,14 +575,12 @@ void Polygon2DEditor::_canvas_input(const Ref<InputEvent> &p_input) {
 					}
 					}
 
 
 					int closest = -1;
 					int closest = -1;
-					real_t closest_dist = 1e20;
 
 
-					for (int i = editing_points.size() - internal_vertices; i < editing_points.size(); i++) {
+					for (int i = editing_points.size() - 1; i >= editing_points.size() - internal_vertices; i--) {
 						Vector2 tuv = mtx.xform(previous_polygon[i]);
 						Vector2 tuv = mtx.xform(previous_polygon[i]);
-						real_t dist = tuv.distance_to(mb->get_position());
-						if (dist < 8 && dist < closest_dist) {
+						if (tuv.distance_to(mb->get_position()) < 8) {
 							closest = i;
 							closest = i;
-							closest_dist = dist;
+							break;
 						}
 						}
 					}
 					}