class_navigationlink2d.rst 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/NavigationLink2D.xml.
  6. .. _class_NavigationLink2D:
  7. NavigationLink2D
  8. ================
  9. **Experimental:** This class may be changed or removed in future versions.
  10. **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  11. A link between two positions on :ref:`NavigationRegion2D<class_NavigationRegion2D>`\ s that agents can be routed through.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. 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.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Using NavigationLinks <../tutorials/navigation/navigation_using_navigationlinks>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  26. | :ref:`bool<class_bool>` | :ref:`bidirectional<class_NavigationLink2D_property_bidirectional>` | ``true`` |
  27. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  28. | :ref:`bool<class_bool>` | :ref:`enabled<class_NavigationLink2D_property_enabled>` | ``true`` |
  29. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  30. | :ref:`Vector2<class_Vector2>` | :ref:`end_position<class_NavigationLink2D_property_end_position>` | ``Vector2(0, 0)`` |
  31. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  32. | :ref:`float<class_float>` | :ref:`enter_cost<class_NavigationLink2D_property_enter_cost>` | ``0.0`` |
  33. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  34. | :ref:`int<class_int>` | :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` | ``1`` |
  35. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  36. | :ref:`Vector2<class_Vector2>` | :ref:`start_position<class_NavigationLink2D_property_start_position>` | ``Vector2(0, 0)`` |
  37. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  38. | :ref:`float<class_float>` | :ref:`travel_cost<class_NavigationLink2D_property_travel_cost>` | ``1.0`` |
  39. +-------------------------------+-----------------------------------------------------------------------------+-------------------+
  40. .. rst-class:: classref-reftable-group
  41. Methods
  42. -------
  43. .. table::
  44. :widths: auto
  45. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Vector2<class_Vector2>` | :ref:`get_global_end_position<class_NavigationLink2D_method_get_global_end_position>`\ (\ ) |const| |
  47. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Vector2<class_Vector2>` | :ref:`get_global_start_position<class_NavigationLink2D_method_get_global_start_position>`\ (\ ) |const| |
  49. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`bool<class_bool>` | :ref:`get_navigation_layer_value<class_NavigationLink2D_method_get_navigation_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
  51. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`RID<class_RID>` | :ref:`get_rid<class_NavigationLink2D_method_get_rid>`\ (\ ) |const| |
  53. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | |void| | :ref:`set_global_end_position<class_NavigationLink2D_method_set_global_end_position>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |
  55. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | |void| | :ref:`set_global_start_position<class_NavigationLink2D_method_set_global_start_position>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |
  57. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | |void| | :ref:`set_navigation_layer_value<class_NavigationLink2D_method_set_navigation_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
  59. +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. .. rst-class:: classref-section-separator
  61. ----
  62. .. rst-class:: classref-descriptions-group
  63. Property Descriptions
  64. ---------------------
  65. .. _class_NavigationLink2D_property_bidirectional:
  66. .. rst-class:: classref-property
  67. :ref:`bool<class_bool>` **bidirectional** = ``true`` :ref:`🔗<class_NavigationLink2D_property_bidirectional>`
  68. .. rst-class:: classref-property-setget
  69. - |void| **set_bidirectional**\ (\ value\: :ref:`bool<class_bool>`\ )
  70. - :ref:`bool<class_bool>` **is_bidirectional**\ (\ )
  71. 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>`.
  72. .. rst-class:: classref-item-separator
  73. ----
  74. .. _class_NavigationLink2D_property_enabled:
  75. .. rst-class:: classref-property
  76. :ref:`bool<class_bool>` **enabled** = ``true`` :ref:`🔗<class_NavigationLink2D_property_enabled>`
  77. .. rst-class:: classref-property-setget
  78. - |void| **set_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  79. - :ref:`bool<class_bool>` **is_enabled**\ (\ )
  80. Whether this link is currently active. If ``false``, :ref:`NavigationServer2D.map_get_path<class_NavigationServer2D_method_map_get_path>` will ignore this link.
  81. .. rst-class:: classref-item-separator
  82. ----
  83. .. _class_NavigationLink2D_property_end_position:
  84. .. rst-class:: classref-property
  85. :ref:`Vector2<class_Vector2>` **end_position** = ``Vector2(0, 0)`` :ref:`🔗<class_NavigationLink2D_property_end_position>`
  86. .. rst-class:: classref-property-setget
  87. - |void| **set_end_position**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  88. - :ref:`Vector2<class_Vector2>` **get_end_position**\ (\ )
  89. Ending position of the link.
  90. This position will search out the nearest polygon in the navigation mesh to attach to.
  91. The distance the link will search is controlled by :ref:`NavigationServer2D.map_set_link_connection_radius<class_NavigationServer2D_method_map_set_link_connection_radius>`.
  92. .. rst-class:: classref-item-separator
  93. ----
  94. .. _class_NavigationLink2D_property_enter_cost:
  95. .. rst-class:: classref-property
  96. :ref:`float<class_float>` **enter_cost** = ``0.0`` :ref:`🔗<class_NavigationLink2D_property_enter_cost>`
  97. .. rst-class:: classref-property-setget
  98. - |void| **set_enter_cost**\ (\ value\: :ref:`float<class_float>`\ )
  99. - :ref:`float<class_float>` **get_enter_cost**\ (\ )
  100. 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.
  101. .. rst-class:: classref-item-separator
  102. ----
  103. .. _class_NavigationLink2D_property_navigation_layers:
  104. .. rst-class:: classref-property
  105. :ref:`int<class_int>` **navigation_layers** = ``1`` :ref:`🔗<class_NavigationLink2D_property_navigation_layers>`
  106. .. rst-class:: classref-property-setget
  107. - |void| **set_navigation_layers**\ (\ value\: :ref:`int<class_int>`\ )
  108. - :ref:`int<class_int>` **get_navigation_layers**\ (\ )
  109. 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>`.
  110. .. rst-class:: classref-item-separator
  111. ----
  112. .. _class_NavigationLink2D_property_start_position:
  113. .. rst-class:: classref-property
  114. :ref:`Vector2<class_Vector2>` **start_position** = ``Vector2(0, 0)`` :ref:`🔗<class_NavigationLink2D_property_start_position>`
  115. .. rst-class:: classref-property-setget
  116. - |void| **set_start_position**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  117. - :ref:`Vector2<class_Vector2>` **get_start_position**\ (\ )
  118. Starting position of the link.
  119. This position will search out the nearest polygon in the navigation mesh to attach to.
  120. The distance the link will search is controlled by :ref:`NavigationServer2D.map_set_link_connection_radius<class_NavigationServer2D_method_map_set_link_connection_radius>`.
  121. .. rst-class:: classref-item-separator
  122. ----
  123. .. _class_NavigationLink2D_property_travel_cost:
  124. .. rst-class:: classref-property
  125. :ref:`float<class_float>` **travel_cost** = ``1.0`` :ref:`🔗<class_NavigationLink2D_property_travel_cost>`
  126. .. rst-class:: classref-property-setget
  127. - |void| **set_travel_cost**\ (\ value\: :ref:`float<class_float>`\ )
  128. - :ref:`float<class_float>` **get_travel_cost**\ (\ )
  129. 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.
  130. .. rst-class:: classref-section-separator
  131. ----
  132. .. rst-class:: classref-descriptions-group
  133. Method Descriptions
  134. -------------------
  135. .. _class_NavigationLink2D_method_get_global_end_position:
  136. .. rst-class:: classref-method
  137. :ref:`Vector2<class_Vector2>` **get_global_end_position**\ (\ ) |const| :ref:`🔗<class_NavigationLink2D_method_get_global_end_position>`
  138. Returns the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link as a global position.
  139. .. rst-class:: classref-item-separator
  140. ----
  141. .. _class_NavigationLink2D_method_get_global_start_position:
  142. .. rst-class:: classref-method
  143. :ref:`Vector2<class_Vector2>` **get_global_start_position**\ (\ ) |const| :ref:`🔗<class_NavigationLink2D_method_get_global_start_position>`
  144. Returns the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link as a global position.
  145. .. rst-class:: classref-item-separator
  146. ----
  147. .. _class_NavigationLink2D_method_get_navigation_layer_value:
  148. .. rst-class:: classref-method
  149. :ref:`bool<class_bool>` **get_navigation_layer_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_NavigationLink2D_method_get_navigation_layer_value>`
  150. 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.
  151. .. rst-class:: classref-item-separator
  152. ----
  153. .. _class_NavigationLink2D_method_get_rid:
  154. .. rst-class:: classref-method
  155. :ref:`RID<class_RID>` **get_rid**\ (\ ) |const| :ref:`🔗<class_NavigationLink2D_method_get_rid>`
  156. Returns the :ref:`RID<class_RID>` of this link on the :ref:`NavigationServer2D<class_NavigationServer2D>`.
  157. .. rst-class:: classref-item-separator
  158. ----
  159. .. _class_NavigationLink2D_method_set_global_end_position:
  160. .. rst-class:: classref-method
  161. |void| **set_global_end_position**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationLink2D_method_set_global_end_position>`
  162. Sets the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link from a global ``position``.
  163. .. rst-class:: classref-item-separator
  164. ----
  165. .. _class_NavigationLink2D_method_set_global_start_position:
  166. .. rst-class:: classref-method
  167. |void| **set_global_start_position**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationLink2D_method_set_global_start_position>`
  168. Sets the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link from a global ``position``.
  169. .. rst-class:: classref-item-separator
  170. ----
  171. .. _class_NavigationLink2D_method_set_navigation_layer_value:
  172. .. rst-class:: classref-method
  173. |void| **set_navigation_layer_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationLink2D_method_set_navigation_layer_value>`
  174. 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.
  175. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  176. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  177. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  178. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  179. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  180. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  181. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  182. .. |void| replace:: :abbr:`void (No return value.)`