summaryrefslogtreecommitdiff
path: root/modules/navigation
diff options
context:
space:
mode:
authorkleonc <9283098+kleonc@users.noreply.github.com>2022-04-14 17:13:53 +0200
committerkleonc <9283098+kleonc@users.noreply.github.com>2022-04-14 17:13:53 +0200
commit9ab69b89f865b57282507da1780a53bf0998b79c (patch)
tree6ad2fa87c1eae9d9632f7336cd5bf216b7502384 /modules/navigation
parent12cb05b3040242deebb87262aed8c04218b69044 (diff)
NavMap::get_path Fix not resetting least_cost_id
Diffstat (limited to 'modules/navigation')
-rw-r--r--modules/navigation/nav_map.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp
index 70d50999f9..217e503d82 100644
--- a/modules/navigation/nav_map.cpp
+++ b/modules/navigation/nav_map.cpp
@@ -226,6 +226,7 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p
navigation_polys.push_back(np);
to_visit.clear();
to_visit.push_back(0);
+ least_cost_id = 0;
reachable_end = nullptr;
@@ -245,6 +246,8 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p
}
}
+ ERR_BREAK(least_cost_id == -1);
+
// Stores the further reachable end polygon, in case our goal is not reachable.
if (is_reachable) {
float d = navigation_polys[least_cost_id].entry.distance_to(p_destination);
@@ -254,8 +257,6 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p
}
}
- ERR_BREAK(least_cost_id == -1);
-
// Check if we reached the end
if (navigation_polys[least_cost_id].poly == end_poly) {
found_route = true;