You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Fix avoidance dirty flag regression
The dirty flag can also still be set by some legacy functions triggered by the agents and obstacles.
This commit is contained in:
@@ -948,14 +948,18 @@ void NavMap::_sync_dirty_map_update_requests() {
|
||||
|
||||
void NavMap::_sync_dirty_avoidance_update_requests() {
|
||||
// Sync NavAgents.
|
||||
agents_dirty = sync_dirty_requests.agents.first();
|
||||
if (!agents_dirty) {
|
||||
agents_dirty = sync_dirty_requests.agents.first();
|
||||
}
|
||||
for (SelfList<NavAgent> *element = sync_dirty_requests.agents.first(); element; element = element->next()) {
|
||||
element->self()->sync();
|
||||
}
|
||||
sync_dirty_requests.agents.clear();
|
||||
|
||||
// Sync NavObstacles.
|
||||
obstacles_dirty = sync_dirty_requests.obstacles.first();
|
||||
if (!obstacles_dirty) {
|
||||
obstacles_dirty = sync_dirty_requests.obstacles.first();
|
||||
}
|
||||
for (SelfList<NavObstacle> *element = sync_dirty_requests.obstacles.first(); element; element = element->next()) {
|
||||
element->self()->sync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user