瀏覽代碼

Merge pull request #83816 from smix8/navobstacle_properties

Fix missing NavigationObstacle property updates in constructor
Rémi Verschelde 1 年之前
父節點
當前提交
4ce65c6190
共有 2 個文件被更改,包括 9 次插入11 次删除
  1. 4 4
      scene/2d/navigation_obstacle_2d.cpp
  2. 5 7
      scene/3d/navigation_obstacle_3d.cpp

+ 4 - 4
scene/2d/navigation_obstacle_2d.cpp

@@ -148,10 +148,10 @@ void NavigationObstacle2D::_notification(int p_what) {
 NavigationObstacle2D::NavigationObstacle2D() {
 	obstacle = NavigationServer2D::get_singleton()->obstacle_create();
 
-	set_radius(radius);
-	set_vertices(vertices);
-	set_avoidance_layers(avoidance_layers);
-	set_avoidance_enabled(avoidance_enabled);
+	NavigationServer2D::get_singleton()->obstacle_set_radius(obstacle, radius);
+	NavigationServer2D::get_singleton()->obstacle_set_vertices(obstacle, vertices);
+	NavigationServer2D::get_singleton()->obstacle_set_avoidance_layers(obstacle, avoidance_layers);
+	NavigationServer2D::get_singleton()->obstacle_set_avoidance_enabled(obstacle, avoidance_enabled);
 }
 
 NavigationObstacle2D::~NavigationObstacle2D() {

+ 5 - 7
scene/3d/navigation_obstacle_3d.cpp

@@ -167,13 +167,11 @@ NavigationObstacle3D::NavigationObstacle3D() {
 	obstacle = NavigationServer3D::get_singleton()->obstacle_create();
 
 	NavigationServer3D::get_singleton()->obstacle_set_height(obstacle, height);
-
-	set_radius(radius);
-	set_height(height);
-	set_vertices(vertices);
-	set_avoidance_layers(avoidance_layers);
-	set_avoidance_enabled(avoidance_enabled);
-	set_use_3d_avoidance(use_3d_avoidance);
+	NavigationServer3D::get_singleton()->obstacle_set_radius(obstacle, radius);
+	NavigationServer3D::get_singleton()->obstacle_set_vertices(obstacle, vertices);
+	NavigationServer3D::get_singleton()->obstacle_set_avoidance_layers(obstacle, avoidance_layers);
+	NavigationServer3D::get_singleton()->obstacle_set_use_3d_avoidance(obstacle, use_3d_avoidance);
+	NavigationServer3D::get_singleton()->obstacle_set_avoidance_enabled(obstacle, avoidance_enabled);
 
 #ifdef DEBUG_ENABLED
 	NavigationServer3D::get_singleton()->connect("avoidance_debug_changed", callable_mp(this, &NavigationObstacle3D::_update_fake_agent_radius_debug));