mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-21 03:16:54 +01:00
Relintai
12b95cdc1f
Adds helper functions to work with the navigation layer bitmask.
- smix8
55923ade68
92 lines
5.0 KiB
XML
92 lines
5.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="NavigationPolygonInstance" inherits="Node2D" version="3.11">
|
|
<brief_description>
|
|
A region of the 2D navigation map.
|
|
</brief_description>
|
|
<description>
|
|
A region of the navigation map. It tells the [Navigation2DServer] what can be navigated and what cannot, based on its [NavigationPolygon] resource.
|
|
By default this node will register to the default [World2D] navigation map. If this node is a child of a [Navigation2D] node it will register to the navigation map of the navigation node.
|
|
Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method Navigation2DServer.map_set_edge_connection_margin].
|
|
[b]Note:[/b] Overlapping two regions' polygons is not enough for connecting two regions. They must share a similar edge.
|
|
The pathfinding cost of entering this region from another region can be controlled with the [member enter_cost] value.
|
|
[b]Note[/b]: This value is not added to the path cost when the start position is already inside this region.
|
|
The pathfinding cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_navigation_layer_value" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="layer_number" type="int" />
|
|
<description>
|
|
Returns whether or not the specified layer of the [member navigation_layers] bitmask is enabled, given a [code]layer_number[/code] between 1 and 32.
|
|
</description>
|
|
</method>
|
|
<method name="get_region_rid" qualifiers="const">
|
|
<return type="RID" />
|
|
<description>
|
|
Returns the [RID] of this region on the [Navigation2DServer]. Combined with [method Navigation2DServer.map_get_closest_point_owner] can be used to identify the [NavigationPolygonInstance] closest to a point on the merged navigation map.
|
|
</description>
|
|
</method>
|
|
<method name="bake_navigation_polygon">
|
|
<return type="void" />
|
|
<param index="0" name="on_thread" type="bool" default="true" />
|
|
<description>
|
|
Bakes the [NavigationPolygon]. If [param on_thread] is set to [code]true[/code] (default), the baking is done on a separate thread.
|
|
</description>
|
|
</method>
|
|
<method name="get_navigation_map" qualifiers="const">
|
|
<return type="RID" />
|
|
<description>
|
|
Returns the current navigation map [RID] use by this region.
|
|
</description>
|
|
</method>
|
|
<method name="set_navigation_layer_value">
|
|
<return type="void" />
|
|
<argument index="0" name="layer_number" type="int" />
|
|
<argument index="1" name="value" type="bool" />
|
|
<description>
|
|
Based on [code]value[/code], enables or disables the specified layer in the [member navigation_layers] bitmask, given a [code]layer_number[/code] between 1 and 32.
|
|
</description>
|
|
</method>
|
|
<method name="set_navigation_map">
|
|
<return type="void" />
|
|
<param index="0" name="navigation_map" type="RID" />
|
|
<description>
|
|
Sets the [RID] of the navigation map this region should use. By default the region will automatically join the [World2D] default navigation map so this function is only required to override the default map.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
|
|
Determines if the [NavigationPolygonInstance] is enabled or disabled.
|
|
</member>
|
|
<member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0">
|
|
When pathfinding enters this regions navmesh from another regions navmesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path.
|
|
</member>
|
|
<member name="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1">
|
|
A bitfield determining all navigation map layers the [NavigationPolygon] belongs to. On path requests with [method Navigation2DServer.map_get_path] navmeshes without matching layers will be ignored and the navigation map will only proximity merge different navmeshes with matching layers.
|
|
</member>
|
|
<member name="navpoly" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon">
|
|
The [NavigationPolygon] resource to use.
|
|
</member>
|
|
<member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0">
|
|
When pathfinding moves inside this regions navmesh the traveled distances are multiplied with [code]travel_cost[/code] for determining the shortest path.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
<signals>
|
|
<signal name="bake_finished">
|
|
<description>
|
|
Emitted when a navigation polygon bake operation is completed.
|
|
</description>
|
|
</signal>
|
|
<signal name="navigation_polygon_changed">
|
|
<description>
|
|
Emitted when the used navigation polygon is replaced or changes to the internals of the current navigation polygon are committed.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
</class>
|