Skip to content

GBAStarPathManager

Manage configuration and path queries for AStarGrid2D instances used by grid targeting.

func_init

(

settings: GridTargetingSettings

,

p_target_map:

TileMapLayer

)

->

void

Optionally configure dependencies during construction. settings: Targeting settings to apply immediately.

funcget_grid( ) ->AStarGrid2D

Return the managed AStarGrid2D instance. Returns: The active AStarGrid2D.

funcset_grid

(

grid: AStarGrid2D

)

->

bool

Replace the managed AStarGrid2D instance. grid: Grid to adopt; when null, a new AStarGrid2D is allocated.

funcconfigure

(

settings: GridTargetingSettings

)

->

void

Configure the manager using targeting settings and optional logger. settings: Targeting settings that drive grid configuration.

func _apply_settings( ) ->

void

Apply the current settings to the managed grid, updating key heuristics and region.

func _update_region_from_settings( ) ->

void

Update the grid region using the targeting settings region_size.
func on_region_size_changed

(

size:

Vector2i

)

->

void

Respond to a region size change event from GridTargetingSettings. size: New region size to apply.

func on_diagonal_mode_changed

(

mode: AStarGrid2D.DiagonalMode

)

->

void

Respond to a diagonal mode change. mode: New diagonal mode.
func on_default_compute_heuristic_changed

(

heuristic: AStarGrid2D.Heuristic

)

->

void

Respond to a compute heuristic change. heuristic: New compute heuristic.

func on_default_estimate_heuristic_changed

(

heuristic: AStarGrid2D.Heuristic

)

->

void

Respond to an estimate heuristic change. heuristic: New estimate heuristic.

func on_cell_shape_changed

(

shape: AStarGrid2D.CellShape

)

->

void

Respond to a cell shape change. shape: New cell shape.
func update_region

(

map:

TileMapLayer

)

->

void

Update the cached region bounds from the provided map. map: Tile map the positioner operates on.

func update_if_dirty( ) ->

void

Update the managed grid when marked dirty.
func resolve_target_tile

(

source:

Node2D

,

target_tile:

Vector2i

,

map:

TileMapLayer

,

settings_override: GridTargetingSettings

)

->

Vector2i

Resolve the desired target tile by applying region refresh and limiting rules. source: Node whose tile acts as the origin for adjacency limits. target_tile: Desired destination tile. map: Tile map providing region bounds. settings_override: Optional settings override used during limiting. Returns: Tile clamped to region and adjacency limits.

func get_closest_valid_tile

(

requested_tile:

Vector2i

,

source:

Node2D

,

map:

TileMapLayer

,

settings_override: GridTargetingSettings

)

->

Vector2i

Public facade: return the closest valid tile given a requested tile and a source node. This consolidates adjacency & region logic in one place for callers.

func limit_tile_to_max_distance

(

source:

Node2D

,

target_tile:

Vector2i

,

map:

TileMapLayer

,

settings_override: GridTargetingSettings

)

->

Vector2i

Limit the desired tile so it does not exceed the configured max distance from the source node. source: Node whose tile is used as the origin for distance checks. target_tile: Desired tile to clamp. map: Map used for conversions and fallback region data. settings_override: Optional override for targeting settings. Returns: Tile respecting adjacency and region limits.

func _limit_using_astar

(

source_tile:

Vector2i

,

target_tile:

Vector2i

,

max_steps:

int

,

region:

Rect2i

)

->

Variant

func _limit_via_step

(

current_tile:

Vector2i

,

target_tile:

Vector2i

,

max_steps:

int

,

diagonal_mode:

int

,

region:

Rect2i

)

->

Vector2i

func _step_toward

(

current:

Vector2i

,

target:

Vector2i

,

diagonal_mode:

int

)

->

Vector2i

func _sample_tile_from_node

(

node:

Node2D

,

map:

TileMapLayer

)

->

Vector2i

addons/grid_building/systems/grid_targeting/runtime/gb_astar_path_manager.gd


This API reference is automatically generated from the plugin source code. For implementation examples and usage guides, see the guides section.