summaryrefslogtreecommitdiffstats
path: root/modules/navigation/nav_map.cpp
diff options
context:
space:
mode:
authorsmix8 <52464204+smix8@users.noreply.github.com>2023-04-05 02:15:25 +0200
committersmix8 <52464204+smix8@users.noreply.github.com>2023-05-11 07:38:16 +0200
commit7e1a261cc661ddbefb90208b94a6828c50750237 (patch)
tree648741a5ffdbc28fab4268aa9ecc9fba9800b290 /modules/navigation/nav_map.cpp
parentc80a2b4fe99dcd0bba6fc24ed2748b1474b24448 (diff)
downloadredot-engine-7e1a261cc661ddbefb90208b94a6828c50750237.tar.gz
Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
Diffstat (limited to 'modules/navigation/nav_map.cpp')
-rw-r--r--modules/navigation/nav_map.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp
index b76295db86..57d702e846 100644
--- a/modules/navigation/nav_map.cpp
+++ b/modules/navigation/nav_map.cpp
@@ -54,21 +54,33 @@
}
void NavMap::set_up(Vector3 p_up) {
+ if (up == p_up) {
+ return;
+ }
up = p_up;
regenerate_polygons = true;
}
void NavMap::set_cell_size(real_t p_cell_size) {
+ if (cell_size == p_cell_size) {
+ return;
+ }
cell_size = p_cell_size;
regenerate_polygons = true;
}
void NavMap::set_edge_connection_margin(real_t p_edge_connection_margin) {
+ if (edge_connection_margin == p_edge_connection_margin) {
+ return;
+ }
edge_connection_margin = p_edge_connection_margin;
regenerate_links = true;
}
void NavMap::set_link_connection_radius(real_t p_link_connection_radius) {
+ if (link_connection_radius == p_link_connection_radius) {
+ return;
+ }
link_connection_radius = p_link_connection_radius;
regenerate_links = true;
}