diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2021-03-10 12:07:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-10 12:07:46 +0100 |
| commit | bc229cdf29fd6177bac070a70be273768c36f21a (patch) | |
| tree | 027ac69c671f58121a13a41b21c64d3deb3a81c6 /modules/gdnavigation/gd_navigation_server.cpp | |
| parent | 469ac1e4152b75b2e3b88cf7bc3a9623f0d7da39 (diff) | |
| parent | ba1344408f66592eb1bec0b91b5bcdea8385ccdc (diff) | |
| download | redot-engine-bc229cdf29fd6177bac070a70be273768c36f21a.tar.gz | |
Merge pull request #46786 from groud/navigation
Remove Navigation2D/3D nodes
Diffstat (limited to 'modules/gdnavigation/gd_navigation_server.cpp')
| -rw-r--r-- | modules/gdnavigation/gd_navigation_server.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/gdnavigation/gd_navigation_server.cpp b/modules/gdnavigation/gd_navigation_server.cpp index 4f61ad5040..af76d9a4cc 100644 --- a/modules/gdnavigation/gd_navigation_server.cpp +++ b/modules/gdnavigation/gd_navigation_server.cpp @@ -200,11 +200,11 @@ real_t GdNavigationServer::map_get_edge_connection_margin(RID p_map) const { return map->get_edge_connection_margin(); } -Vector<Vector3> GdNavigationServer::map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize) const { +Vector<Vector3> GdNavigationServer::map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers) const { const NavMap *map = map_owner.getornull(p_map); ERR_FAIL_COND_V(map == nullptr, Vector<Vector3>()); - return map->get_path(p_origin, p_destination, p_optimize); + return map->get_path(p_origin, p_destination, p_optimize, p_layers); } Vector3 GdNavigationServer::map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision) const { @@ -273,6 +273,20 @@ COMMAND_2(region_set_transform, RID, p_region, Transform, p_transform) { region->set_transform(p_transform); } +COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers) { + NavRegion *region = region_owner.getornull(p_region); + ERR_FAIL_COND(region == nullptr); + + region->set_layers(p_layers); +} + +uint32_t GdNavigationServer::region_get_layers(RID p_region) const { + NavRegion *region = region_owner.getornull(p_region); + ERR_FAIL_COND_V(region == nullptr, 0); + + return region->get_layers(); +} + COMMAND_2(region_set_navmesh, RID, p_region, Ref<NavigationMesh>, p_nav_mesh) { NavRegion *region = region_owner.getornull(p_region); ERR_FAIL_COND(region == nullptr); |
