123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/NavigationLink2D.xml.
- .. _class_NavigationLink2D:
- NavigationLink2D
- ================
- **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- A link between two positions on :ref:`NavigationRegion2D<class_NavigationRegion2D>`\ s that agents can be routed through.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- A link between two positions on :ref:`NavigationRegion2D<class_NavigationRegion2D>`\ s that agents can be routed through. These positions can be on the same :ref:`NavigationRegion2D<class_NavigationRegion2D>` or on two different ones. Links are useful to express navigation methods other than traveling along the surface of the navigation polygon, such as ziplines, teleporters, or gaps that can be jumped across.
- .. rst-class:: classref-introduction-group
- Tutorials
- ---------
- - :doc:`Using NavigationLinks <../tutorials/navigation/navigation_using_navigationlinks>`
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`bool<class_bool>` | :ref:`bidirectional<class_NavigationLink2D_property_bidirectional>` | ``true`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`bool<class_bool>` | :ref:`enabled<class_NavigationLink2D_property_enabled>` | ``true`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`end_position<class_NavigationLink2D_property_end_position>` | ``Vector2(0, 0)`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`float<class_float>` | :ref:`enter_cost<class_NavigationLink2D_property_enter_cost>` | ``0.0`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`int<class_int>` | :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` | ``1`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`start_position<class_NavigationLink2D_property_start_position>` | ``Vector2(0, 0)`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- | :ref:`float<class_float>` | :ref:`travel_cost<class_NavigationLink2D_property_travel_cost>` | ``1.0`` |
- +-------------------------------+-----------------------------------------------------------------------------+-------------------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_global_end_position<class_NavigationLink2D_method_get_global_end_position>` **(** **)** |const| |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_global_start_position<class_NavigationLink2D_method_get_global_start_position>` **(** **)** |const| |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_navigation_layer_value<class_NavigationLink2D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const| |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_global_end_position<class_NavigationLink2D_method_set_global_end_position>` **(** :ref:`Vector2<class_Vector2>` position **)** |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_global_start_position<class_NavigationLink2D_method_set_global_start_position>` **(** :ref:`Vector2<class_Vector2>` position **)** |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_navigation_layer_value<class_NavigationLink2D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** |
- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_NavigationLink2D_property_bidirectional:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **bidirectional** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_bidirectional** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_bidirectional** **(** **)**
- Whether this link can be traveled in both directions or only from :ref:`start_position<class_NavigationLink2D_property_start_position>` to :ref:`end_position<class_NavigationLink2D_property_end_position>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_enabled:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **enabled** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_enabled** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_enabled** **(** **)**
- Whether this link is currently active. If ``false``, :ref:`NavigationServer2D.map_get_path<class_NavigationServer2D_method_map_get_path>` will ignore this link.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_end_position:
- .. rst-class:: classref-property
- :ref:`Vector2<class_Vector2>` **end_position** = ``Vector2(0, 0)``
- .. rst-class:: classref-property-setget
- - void **set_end_position** **(** :ref:`Vector2<class_Vector2>` value **)**
- - :ref:`Vector2<class_Vector2>` **get_end_position** **(** **)**
- Ending position of the link.
- This position will search out the nearest polygon in the navigation mesh to attach to.
- The distance the link will search is controlled by :ref:`NavigationServer2D.map_set_link_connection_radius<class_NavigationServer2D_method_map_set_link_connection_radius>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_enter_cost:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **enter_cost** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_enter_cost** **(** :ref:`float<class_float>` value **)**
- - :ref:`float<class_float>` **get_enter_cost** **(** **)**
- When pathfinding enters this link from another regions navigation mesh the :ref:`enter_cost<class_NavigationLink2D_property_enter_cost>` value is added to the path distance for determining the shortest path.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_navigation_layers:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **navigation_layers** = ``1``
- .. rst-class:: classref-property-setget
- - void **set_navigation_layers** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_navigation_layers** **(** **)**
- A bitfield determining all navigation layers the link belongs to. These navigation layers will be checked when requesting a path with :ref:`NavigationServer2D.map_get_path<class_NavigationServer2D_method_map_get_path>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_start_position:
- .. rst-class:: classref-property
- :ref:`Vector2<class_Vector2>` **start_position** = ``Vector2(0, 0)``
- .. rst-class:: classref-property-setget
- - void **set_start_position** **(** :ref:`Vector2<class_Vector2>` value **)**
- - :ref:`Vector2<class_Vector2>` **get_start_position** **(** **)**
- Starting position of the link.
- This position will search out the nearest polygon in the navigation mesh to attach to.
- The distance the link will search is controlled by :ref:`NavigationServer2D.map_set_link_connection_radius<class_NavigationServer2D_method_map_set_link_connection_radius>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_property_travel_cost:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **travel_cost** = ``1.0``
- .. rst-class:: classref-property-setget
- - void **set_travel_cost** **(** :ref:`float<class_float>` value **)**
- - :ref:`float<class_float>` **get_travel_cost** **(** **)**
- When pathfinding moves along the link the traveled distance is multiplied with :ref:`travel_cost<class_NavigationLink2D_property_travel_cost>` for determining the shortest path.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_NavigationLink2D_method_get_global_end_position:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_global_end_position** **(** **)** |const|
- Returns the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link as a global position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_method_get_global_start_position:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_global_start_position** **(** **)** |const|
- Returns the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link as a global position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_method_get_navigation_layer_value:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **get_navigation_layer_value** **(** :ref:`int<class_int>` layer_number **)** |const|
- Returns whether or not the specified layer of the :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` bitmask is enabled, given a ``layer_number`` between 1 and 32.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_method_set_global_end_position:
- .. rst-class:: classref-method
- void **set_global_end_position** **(** :ref:`Vector2<class_Vector2>` position **)**
- Sets the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link from a global ``position``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_method_set_global_start_position:
- .. rst-class:: classref-method
- void **set_global_start_position** **(** :ref:`Vector2<class_Vector2>` position **)**
- Sets the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link from a global ``position``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_NavigationLink2D_method_set_navigation_layer_value:
- .. rst-class:: classref-method
- void **set_navigation_layer_value** **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**
- Based on ``value``, enables or disables the specified layer in the :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` bitmask, given a ``layer_number`` between 1 and 32.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|