Merge pull request #62353 from smix8/navigation_region_owns_point_4.x

Add NavigationServer region_owns_point() helper function
This commit is contained in:
Rémi Verschelde 2022-06-24 09:08:25 +02:00 committed by GitHub
commit 81afea620f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 39 additions and 0 deletions

View file

@ -282,6 +282,16 @@
Returns the [code]travel_cost[/code] of this [code]region[/code].
</description>
</method>
<method name="region_owns_point" qualifiers="const">
<return type="bool" />
<argument index="0" name="region" type="RID" />
<argument index="1" name="point" type="Vector2" />
<description>
Returns [code]true[/code] if the provided [code]point[/code] in world space is currently owned by the provided navigation [code]region[/code]. Owned in this context means that one of the region's navigation mesh polygon faces has a possible position at the closest distance to this point compared to all other navigation meshes from other navigation regions that are also registered on the navigation map of the provided region.
If multiple navigation meshes have positions at equal distance the navigation region whose polygons are processed first wins the ownership. Polygons are processed in the same order that navigation regions were registered on the NavigationServer.
[b]Note:[/b] If navigation meshes from different navigation regions overlap (which should be avoided in general) the result might not be what is expected.
</description>
</method>
<method name="region_set_enter_cost" qualifiers="const">
<return type="void" />
<argument index="0" name="region" type="RID" />

View file

@ -332,6 +332,16 @@
Returns the [code]travel_cost[/code] of this [code]region[/code].
</description>
</method>
<method name="region_owns_point" qualifiers="const">
<return type="bool" />
<argument index="0" name="region" type="RID" />
<argument index="1" name="point" type="Vector3" />
<description>
Returns [code]true[/code] if the provided [code]point[/code] in world space is currently owned by the provided navigation [code]region[/code]. Owned in this context means that one of the region's navigation mesh polygon faces has a possible position at the closest distance to this point compared to all other navigation meshes from other navigation regions that are also registered on the navigation map of the provided region.
If multiple navigation meshes have positions at equal distance the navigation region whose polygons are processed first wins the ownership. Polygons are processed in the same order that navigation regions were registered on the NavigationServer.
[b]Note:[/b] If navigation meshes from different navigation regions overlap (which should be avoided in general) the result might not be what is expected.
</description>
</method>
<method name="region_set_enter_cost" qualifiers="const">
<return type="void" />
<argument index="0" name="region" type="RID" />