mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Merge pull request #104826 from smix8/navregion_iteration_id
Add function to get navigation region iteration id from NavigationServer
This commit is contained in:
commit
0110048d46
16 changed files with 54 additions and 0 deletions
|
|
@ -448,6 +448,13 @@ RID GodotNavigationServer2D::region_create() {
|
|||
return rid;
|
||||
}
|
||||
|
||||
uint32_t GodotNavigationServer2D::region_get_iteration_id(RID p_region) const {
|
||||
NavRegion2D *region = region_owner.get_or_null(p_region);
|
||||
ERR_FAIL_NULL_V(region, 0);
|
||||
|
||||
return region->get_iteration_id();
|
||||
}
|
||||
|
||||
COMMAND_2(region_set_enabled, RID, p_region, bool, p_enabled) {
|
||||
NavRegion2D *region = region_owner.get_or_null(p_region);
|
||||
ERR_FAIL_NULL(region);
|
||||
|
|
|
|||
|
|
@ -144,6 +144,7 @@ public:
|
|||
virtual Vector2 map_get_random_point(RID p_map, uint32_t p_navigation_layers, bool p_uniformly) const override;
|
||||
|
||||
virtual RID region_create() override;
|
||||
virtual uint32_t region_get_iteration_id(RID p_region) const override;
|
||||
|
||||
COMMAND_2(region_set_enabled, RID, p_region, bool, p_enabled);
|
||||
virtual bool region_get_enabled(RID p_region) const override;
|
||||
|
|
|
|||
|
|
@ -178,6 +178,10 @@ bool NavRegion2D::sync() {
|
|||
|
||||
update_polygons();
|
||||
|
||||
if (something_changed) {
|
||||
iteration_id = iteration_id % UINT32_MAX + 1;
|
||||
}
|
||||
|
||||
return something_changed;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,12 +59,16 @@ class NavRegion2D : public NavBase2D {
|
|||
Vector<Vector2> pending_navmesh_vertices;
|
||||
Vector<Vector<int>> pending_navmesh_polygons;
|
||||
|
||||
uint32_t iteration_id = 0;
|
||||
|
||||
SelfList<NavRegion2D> sync_dirty_request_list_element;
|
||||
|
||||
public:
|
||||
NavRegion2D();
|
||||
~NavRegion2D();
|
||||
|
||||
uint32_t get_iteration_id() const { return iteration_id; }
|
||||
|
||||
void scratch_polygons() {
|
||||
polygons_dirty = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue