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() {
|
void NavMap::_sync_dirty_avoidance_update_requests() {
|
||||||
// Sync NavAgents.
|
// 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()) {
|
for (SelfList<NavAgent> *element = sync_dirty_requests.agents.first(); element; element = element->next()) {
|
||||||
element->self()->sync();
|
element->self()->sync();
|
||||||
}
|
}
|
||||||
sync_dirty_requests.agents.clear();
|
sync_dirty_requests.agents.clear();
|
||||||
|
|
||||||
// Sync NavObstacles.
|
// 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()) {
|
for (SelfList<NavObstacle> *element = sync_dirty_requests.obstacles.first(); element; element = element->next()) {
|
||||||
element->self()->sync();
|
element->self()->sync();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user