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.

func get_grid( ) -> AStarGrid2D

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

func set_grid( grid: AStarGrid2D ) -> bool

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

func configure( 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.