mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	 a3df26e554
			
		
	
	
		a3df26e554
		
	
	
	
	
		
			
			Includes: * MarginContainer * NavigationPolygon * Node * NodePath * OS * PackedByteArray * PackedScene * PacketPeerUDP * PCKPacker * Performance * PhysicsShapeQueryParameters2D * PhysicsShapeQueryParameters3D * PrimitiveMesh * ProjectSettings Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
		
			
				
	
	
		
			170 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="NavigationPolygon" inherits="Resource" version="4.0">
 | |
| 	<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]:
 | |
| 		[codeblocks]
 | |
| 		[gdscript]
 | |
| 		var polygon = NavigationPolygon.new()
 | |
| 		var outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
 | |
| 		polygon.add_outline(outline)
 | |
| 		polygon.make_polygons_from_outlines()
 | |
| 		$NavigationRegion2D.navpoly = polygon
 | |
| 		[/gdscript]
 | |
| 		[csharp]
 | |
| 		var polygon = new NavigationPolygon();
 | |
| 		var outline = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new Vector2(50, 50), new Vector2(50, 0) };
 | |
| 		polygon.AddOutline(outline);
 | |
| 		polygon.MakePolygonsFromOutlines();
 | |
| 		GetNode<NavigationRegion2D>("NavigationRegion2D").Navpoly = polygon;
 | |
| 		[/csharp]
 | |
| 		[/codeblocks]
 | |
| 		Using [method add_polygon] and indices of the vertices array.
 | |
| 		[codeblocks]
 | |
| 		[gdscript]
 | |
| 		var polygon = NavigationPolygon.new()
 | |
| 		var vertices = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
 | |
| 		polygon.vertices = vertices
 | |
| 		var indices = PackedInt32Array(0, 3, 1)
 | |
| 		polygon.add_polygon(indices)
 | |
| 		$NavigationRegion2D.navpoly = polygon
 | |
| 		[/gdscript]
 | |
| 		[csharp]
 | |
| 		var polygon = new NavigationPolygon();
 | |
| 		var vertices = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new Vector2(50, 50), new Vector2(50, 0) };
 | |
| 		polygon.Vertices = vertices;
 | |
| 		var indices = new int[] { 0, 3, 1 };
 | |
| 		polygon.AddPolygon(indices);
 | |
| 		GetNode<NavigationRegion2D>("NavigationRegion2D").Navpoly = polygon;
 | |
| 		[/csharp]
 | |
| 		[/codeblocks]
 | |
| 	</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="PackedVector2Array">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Appends a [PackedVector2Array] 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="PackedVector2Array">
 | |
| 			</argument>
 | |
| 			<argument index="1" name="index" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Adds a [PackedVector2Array] 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="PackedInt32Array">
 | |
| 			</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="PackedVector2Array">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns a [PackedVector2Array] 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="PackedInt32Array">
 | |
| 			</return>
 | |
| 			<argument index="0" name="idx" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns a [PackedInt32Array] 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="PackedVector2Array">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns a [PackedVector2Array] 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="PackedVector2Array">
 | |
| 			</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="PackedVector2Array">
 | |
| 			</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>
 |