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:

  1. var polygon = NavigationPolygon.new()
  2. var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
  3. polygon.add_outline(outline)
  4. polygon.make_polygons_from_outlines()
  5. $NavigationPolygonInstance.navpoly = polygon

Using add_polygon and indices of the vertices array.

  1. var polygon = NavigationPolygon.new()
  2. var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
  3. polygon.set_vertices(vertices)
  4. var indices = PoolIntArray(0, 3, 1)
  5. polygon.add_polygon(indices)
  6. $NavigationPolygonInstance.navpoly = polygon

Tutorials

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

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.


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.


Adds a polygon using the indices of the vertices you get when calling get_vertices.


  • void clear_outlines ( )

Clears the array of the outlines, but it doesn’t clear the vertices and the polygons that were created by them.


  • void clear_polygons ( )

Clears the array of polygons, but it doesn’t clear the array of outlines and vertices.


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.


Returns a PoolIntArray containing the indices of the vertices of a created polygon.


  • int get_polygon_count ( ) const

Returns the count of all polygons.


Returns a PoolVector2Array containing all the vertices being used to create the polygons.


  • void make_polygons_from_outlines ( )

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.


Changes an outline created in the editor or by script. You have to call make_polygons_from_outlines for the polygons to update.


Sets the vertices that can be then indexed to create polygons with the add_polygon method.