mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			151 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="NavigationPolygon" inherits="Resource" version="3.2">
 | |
| 	<brief_description>
 | |
| 		A node that has methods to draw outlines or use indices of vertices to create navigation polygons.
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		There are two ways to create polygons. Either by using the [method add_outline] method, or using the [method add_polygon] method.
 | |
| 		Using [method add_outline]:
 | |
| 		[codeblock]
 | |
| 		var polygon = NavigationPolygon.new()
 | |
| 		var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
 | |
| 		polygon.add_outline(outline)
 | |
| 		polygon.make_polygons_from_outlines()
 | |
| 		$NavigationPolygonInstance.navpoly = polygon
 | |
| 		[/codeblock]
 | |
| 		Using [method add_polygon] and indices of the vertices array.
 | |
| 		[codeblock]
 | |
| 		var polygon = NavigationPolygon.new()
 | |
| 		var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
 | |
| 		polygon.set_vertices(vertices)
 | |
| 		var indices = PoolIntArray(0, 3, 1)
 | |
| 		polygon.add_polygon(indices)
 | |
| 		$NavigationPolygonInstance.navpoly = polygon
 | |
| 		[/codeblock]
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 		<link title="2D Navigation Demo">https://godotengine.org/asset-library/asset/117</link>
 | |
| 	</tutorials>
 | |
| 	<methods>
 | |
| 		<method name="add_outline">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="outline" type="PoolVector2Array">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Appends a [PoolVector2Array] that contains the vertices of an outline to the internal array that contains all the outlines. You have to call [method make_polygons_from_outlines] in order for this array to be converted to polygons that the engine will use.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_outline_at_index">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="outline" type="PoolVector2Array">
 | |
| 			</argument>
 | |
| 			<argument index="1" name="index" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Adds a [PoolVector2Array] that contains the vertices of an outline to the internal array that contains all the outlines at a fixed position. You have to call [method make_polygons_from_outlines] in order for this array to be converted to polygons that the engine will use.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_polygon">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="polygon" type="PoolIntArray">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Adds a polygon using the indices of the vertices you get when calling [method get_vertices].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="clear_outlines">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Clears the array of the outlines, but it doesn't clear the vertices and the polygons that were created by them.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="clear_polygons">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Clears the array of polygons, but it doesn't clear the array of outlines and vertices.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_outline" qualifiers="const">
 | |
| 			<return type="PoolVector2Array">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns a [PoolVector2Array] containing the vertices of an outline that was created in the editor or by script.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_outline_count" qualifiers="const">
 | |
| 			<return type="int">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns the number of outlines that were created in the editor or by script.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_polygon">
 | |
| 			<return type="PoolIntArray">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns a [PoolIntArray] containing the indices of the vertices of a created polygon.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_polygon_count" qualifiers="const">
 | |
| 			<return type="int">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns the count of all polygons.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_vertices" qualifiers="const">
 | |
| 			<return type="PoolVector2Array">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns a [PoolVector2Array] containing all the vertices being used to create the polygons.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="make_polygons_from_outlines">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Creates polygons from the outlines added in the editor or by script.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="remove_outline">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Removes an outline created in the editor or by script. You have to call [method make_polygons_from_outlines] for the polygons to update.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="set_outline">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<argument index="1" name="outline" type="PoolVector2Array">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Changes an outline created in the editor or by script. You have to call [method make_polygons_from_outlines] for the polygons to update.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="set_vertices">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="vertices" type="PoolVector2Array">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Sets the vertices that can be then indexed to create polygons with the [method add_polygon] method.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 	</methods>
 | |
| 	<constants>
 | |
| 	</constants>
 | |
| </class>
 | 
