Преглед на файлове

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 година
родител
ревизия
9dd05964d5
променени са 1 файла, в които са добавени 4 реда и са изтрити 0 реда
  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) {