Table of Contents

Class PolygonPathFinder

Namespace
Godot
Assembly
GodotSharp.dll
public class PolygonPathFinder : Resource, IDisposable
Inheritance
PolygonPathFinder
Implements
Inherited Members

Constructors

PolygonPathFinder()

public PolygonPathFinder()

Methods

FindPath(Vector2, Vector2)

public Vector2[] FindPath(Vector2 from, Vector2 to)

Parameters

from Vector2
to Vector2

Returns

Vector2[]

GetBounds()

public Rect2 GetBounds()

Returns

Rect2

GetClosestPoint(Vector2)

public Vector2 GetClosestPoint(Vector2 point)

Parameters

point Vector2

Returns

Vector2

GetIntersections(Vector2, Vector2)

public Vector2[] GetIntersections(Vector2 from, Vector2 to)

Parameters

from Vector2
to Vector2

Returns

Vector2[]

GetPointPenalty(int)

public float GetPointPenalty(int idx)

Parameters

idx int

Returns

float

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool

IsPointInside(Vector2)

Returns true if point falls inside the polygon area.

var polygonPathFinder = new PolygonPathFinder();
  Vector2[] points =
  [
      new Vector2(0.0f, 0.0f),
      new Vector2(1.0f, 0.0f),
      new Vector2(0.0f, 1.0f)
  ];
  int[] connections = [0, 1, 1, 2, 2, 0];
  polygonPathFinder.Setup(points, connections);
  GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // Prints True
  GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // Prints False
public bool IsPointInside(Vector2 point)

Parameters

point Vector2

Returns

bool

SetPointPenalty(int, float)

public void SetPointPenalty(int idx, float penalty)

Parameters

idx int
penalty float

Setup(Vector2[], int[])

Sets up PolygonPathFinder with an array of points that define the vertices of the polygon, and an array of indices that determine the edges of the polygon.

The length of connections must be even, returns an error if odd.

var polygonPathFinder = new PolygonPathFinder();
  Vector2[] points =
  [
      new Vector2(0.0f, 0.0f),
      new Vector2(1.0f, 0.0f),
      new Vector2(0.0f, 1.0f)
  ];
  int[] connections = [0, 1, 1, 2, 2, 0];
  polygonPathFinder.Setup(points, connections);
public void Setup(Vector2[] points, int[] connections)

Parameters

points Vector2[]
connections int[]

Setup(ReadOnlySpan<Vector2>, ReadOnlySpan<int>)

Sets up PolygonPathFinder with an array of points that define the vertices of the polygon, and an array of indices that determine the edges of the polygon.

The length of connections must be even, returns an error if odd.

var polygonPathFinder = new PolygonPathFinder();
  Vector2[] points =
  [
      new Vector2(0.0f, 0.0f),
      new Vector2(1.0f, 0.0f),
      new Vector2(0.0f, 1.0f)
  ];
  int[] connections = [0, 1, 1, 2, 2, 0];
  polygonPathFinder.Setup(points, connections);
public void Setup(ReadOnlySpan<Vector2> points, ReadOnlySpan<int> connections)

Parameters

points ReadOnlySpan<Vector2>
connections ReadOnlySpan<int>