NavigationPolygon¶
Inherits: Resource < Reference < Object
A node that has methods to draw outlines or use indices of vertices to create navigation polygons.
Description¶
There are two ways to create polygons. Either by using the add_outline method, or using the add_polygon method.
Using add_outline:
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
Using add_polygon and indices of the vertices array.
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
Methods¶
void | add_outline ( PoolVector2Array outline ) |
void | add_outline_at_index ( PoolVector2Array outline, int index ) |
void | add_polygon ( PoolIntArray polygon ) |
void | clear_outlines ( ) |
void | clear_polygons ( ) |
PoolVector2Array | get_outline ( int idx ) const |
int | get_outline_count ( ) const |
PoolIntArray | get_polygon ( int idx ) |
int | get_polygon_count ( ) const |
PoolVector2Array | get_vertices ( ) const |
void | make_polygons_from_outlines ( ) |
void | remove_outline ( int idx ) |
void | set_outline ( int idx, PoolVector2Array outline ) |
void | set_vertices ( PoolVector2Array vertices ) |
Method Descriptions¶
- void add_outline ( PoolVector2Array outline )
Appends a PoolVector2Array that contains the vertices of an outline to the internal array that contains all the outlines. You have to call make_polygons_from_outlines in order for this array to be converted to polygons that the engine will use.
- void add_outline_at_index ( PoolVector2Array outline, int index )
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 make_polygons_from_outlines in order for this array to be converted to polygons that the engine will use.
- void add_polygon ( PoolIntArray polygon )
Adds a polygon using the indices of the vertices you get when calling get_vertices.
Clears the array of the outlines, but it doesn’t clear the vertices and the polygons that were created by them.
Clears the array of polygons, but it doesn’t clear the array of outlines and vertices.
- PoolVector2Array get_outline ( int idx ) const
Returns a PoolVector2Array containing the vertices of an outline that was created in the editor or by script.
- int get_outline_count ( ) const
Returns the number of outlines that were created in the editor or by script.
- PoolIntArray get_polygon ( int idx )
Returns a PoolIntArray containing the indices of the vertices of a created polygon.
- int get_polygon_count ( ) const
Returns the count of all polygons.
- PoolVector2Array get_vertices ( ) const
Returns a PoolVector2Array containing all the vertices being used to create the polygons.
Creates polygons from the outlines added in the editor or by script.
- void remove_outline ( int idx )
Removes an outline created in the editor or by script. You have to call make_polygons_from_outlines for the polygons to update.
- void set_outline ( int idx, PoolVector2Array outline )
Changes an outline created in the editor or by script. You have to call make_polygons_from_outlines for the polygons to update.
- void set_vertices ( PoolVector2Array vertices )
Sets the vertices that can be then indexed to create polygons with the add_polygon method.