Przeglądaj źródła

Fix NavigationPolygon not updating consistently on rebakes

Fixes that NavigationPolygon did not update in all cases because the internal NavigationMesh was not always unref and freed which blocked creating a new mesh later if nothing else freed it.
smix8 1 rok temu
rodzic
commit
9dd05964d5
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      scene/resources/2d/navigation_polygon.cpp

+ 4 - 0
scene/resources/2d/navigation_polygon.cpp

@@ -193,6 +193,10 @@ void NavigationPolygon::set_data(const Vector<Vector2> &p_vertices, const Vector
 	for (int i = 0; i < p_polygons.size(); i++) {
 		polygons.write[i].indices = p_polygons[i];
 	}
+	{
+		MutexLock lock(navigation_mesh_generation);
+		navigation_mesh.unref();
+	}
 }
 
 void NavigationPolygon::get_data(Vector<Vector2> &r_vertices, Vector<Vector<int>> &r_polygons) {