Quellcode durchsuchen

refresh area2d collision when shape changes, close #33369

RaphaelHunter vor 5 Jahren
Ursprung
Commit
8330e70e2c
2 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen
  1. 3 0
      servers/physics/area_sw.cpp
  2. 3 0
      servers/physics_2d/area_2d_sw.cpp

+ 3 - 0
servers/physics/area_sw.cpp

@@ -46,6 +46,9 @@ AreaSW::BodyKey::BodyKey(AreaSW *p_body, uint32_t p_body_shape, uint32_t p_area_
 }
 
 void AreaSW::_shapes_changed() {
+
+	if (!moved_list.in_list() && get_space())
+		get_space()->area_add_to_moved_list(&moved_list);
 }
 
 void AreaSW::set_transform(const Transform &p_transform) {

+ 3 - 0
servers/physics_2d/area_2d_sw.cpp

@@ -46,6 +46,9 @@ Area2DSW::BodyKey::BodyKey(Area2DSW *p_body, uint32_t p_body_shape, uint32_t p_a
 }
 
 void Area2DSW::_shapes_changed() {
+
+	if (!moved_list.in_list() && get_space())
+		get_space()->area_add_to_moved_list(&moved_list);
 }
 
 void Area2DSW::set_transform(const Transform2D &p_transform) {