Merge pull request #62353 from smix8/navigation_region_owns_point_4.x
Add NavigationServer region_owns_point() helper function
This commit is contained in:
commit
81afea620f
8 changed files with 39 additions and 0 deletions
|
|
@ -351,6 +351,16 @@ real_t GodotNavigationServer::region_get_travel_cost(RID p_region) const {
|
|||
return region->get_travel_cost();
|
||||
}
|
||||
|
||||
bool GodotNavigationServer::region_owns_point(RID p_region, const Vector3 &p_point) const {
|
||||
const NavRegion *region = region_owner.get_or_null(p_region);
|
||||
ERR_FAIL_COND_V(region == nullptr, false);
|
||||
if (region->get_map()) {
|
||||
RID closest_point_owner = map_get_closest_point_owner(region->get_map()->get_self(), p_point);
|
||||
return closest_point_owner == region->get_self();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
COMMAND_2(region_set_navigation_layers, RID, p_region, uint32_t, p_navigation_layers) {
|
||||
NavRegion *region = region_owner.get_or_null(p_region);
|
||||
ERR_FAIL_COND(region == nullptr);
|
||||
|
|
|
|||
|
|
@ -117,6 +117,8 @@ public:
|
|||
COMMAND_2(region_set_travel_cost, RID, p_region, real_t, p_travel_cost);
|
||||
virtual real_t region_get_travel_cost(RID p_region) const override;
|
||||
|
||||
virtual bool region_owns_point(RID p_region, const Vector3 &p_point) const override;
|
||||
|
||||
COMMAND_2(region_set_map, RID, p_region, RID, p_map);
|
||||
virtual RID region_get_map(RID p_region) const override;
|
||||
COMMAND_2(region_set_navigation_layers, RID, p_region, uint32_t, p_navigation_layers);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue