class_navigationlink2d.rst 13 KB

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