You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-04 17:04:49 +00:00
Implement Navigation layers
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user