GBAStarPathManager
Summary
Section titled “Summary”Manage configuration and path queries for AStarGrid2D instances used by grid targeting.
Methods
Section titled “Methods”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
Source
Section titled “Source”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.