Explorar o código

fixed bugs in polygon_path_finder for finding nearest points

romulox_x %!s(int64=10) %!d(string=hai) anos
pai
achega
8ff61b4d0e
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      scene/resources/polygon_path_finder.cpp

+ 3 - 1
scene/resources/polygon_path_finder.cpp

@@ -142,6 +142,7 @@ Vector<Vector2> PolygonPathFinder::find_path(const Vector2& p_from, const Vector
 			if (d<closest_dist) {
 				ignore_from_edge=E->get();
 				closest_dist=d;
+				closest_point=closest;
 			}
 		}
 
@@ -168,6 +169,7 @@ Vector<Vector2> PolygonPathFinder::find_path(const Vector2& p_from, const Vector
 			if (d<closest_dist) {
 				ignore_to_edge=E->get();
 				closest_dist=d;
+				closest_point=closest;
 			}
 		}
 
@@ -529,7 +531,7 @@ Vector2 PolygonPathFinder::get_closest_point(const Vector2& p_point) const {
 
 		float d = p_point.distance_squared_to(points[i].pos);
 		if (d<closest_dist) {
-			d=closest_dist;
+			closest_dist=d;
 			closest_idx=i;
 		}