GBAStarPathManager

Limit the desired tile so...

sort Weight: 10

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

Version: v5.0.0

STABLE

Inherits: RefCounted
Source: gb_astar_path_manager.gd
Parsing: AST-based for maximum accuracy with symbol typing


Variables

_grid:


_settings:


_last_region:


Methods

_init

Signature: _init(settings: GridTargetingSettings, p_target_map: TileMapLayer) -> void

[param settings] Targeting settings to apply immediately.

Returns: void

Parameters:

  • settings: GridTargetingSettings
  • p_target_map: TileMapLayer

get_grid

Signature: get_grid() -> AStarGrid2D

[return] The active AStarGrid2D.

Returns: AStarGrid2D


set_grid

Signature: set_grid(grid: AStarGrid2D) -> bool

[param grid] Grid to adopt; when null, a new AStarGrid2D is allocated.

Returns: bool

Parameters:

  • grid: AStarGrid2D

configure

Signature: configure(settings: GridTargetingSettings) -> void

[param settings] Targeting settings that drive grid configuration.

Returns: void

Parameters:

  • settings: GridTargetingSettings

_apply_settings

Signature: _apply_settings() -> void

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

Returns: void


_update_region_from_settings

Signature: _update_region_from_settings() -> void

Update the grid region using the targeting settings region_size.

Returns: void


on_region_size_changed

Signature: on_region_size_changed(size: Vector2i) -> void

[param size] New region size to apply.

Returns: void

Parameters:

  • size: Vector2i

on_diagonal_mode_changed

Signature: on_diagonal_mode_changed(mode: AStarGrid2D.DiagonalMode: Variant) -> void

[param mode] New diagonal mode.

Returns: void

Parameters:

  • mode: AStarGrid2D.DiagonalMode: Variant

on_default_compute_heuristic_changed

Signature: on_default_compute_heuristic_changed(heuristic: AStarGrid2D.Heuristic: Variant) -> void

[param heuristic] New compute heuristic.

Returns: void

Parameters:

  • heuristic: AStarGrid2D.Heuristic: Variant

on_default_estimate_heuristic_changed

Signature: on_default_estimate_heuristic_changed(heuristic: AStarGrid2D.Heuristic: Variant) -> void

[param heuristic] New estimate heuristic.

Returns: void

Parameters:

  • heuristic: AStarGrid2D.Heuristic: Variant

on_cell_shape_changed

Signature: on_cell_shape_changed(shape: AStarGrid2D.CellShape: Variant) -> void

[param shape] New cell shape.

Returns: void

Parameters:

  • shape: AStarGrid2D.CellShape: Variant

update_region

Signature: update_region(map: TileMapLayer) -> void

[param map] Tile map the positioner operates on.

Returns: void

Parameters:

  • map: TileMapLayer

update_if_dirty

Signature: update_if_dirty() -> void

Update the managed grid when marked dirty.

Returns: void


resolve_target_tile

Signature: resolve_target_tile(source: Node2D, target_tile: Vector2i, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i

[return] Tile clamped to region and adjacency limits.

Returns: Vector2i

Parameters:

  • source: Node2D
  • target_tile: Vector2i
  • map: TileMapLayer
  • settings_override: GridTargetingSettings (optional, default: null)

get_closest_valid_tile

Signature: get_closest_valid_tile(requested_tile: Vector2i, source: Node2D, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i

This consolidates adjacency & region logic in one place for callers.

Returns: Vector2i

Parameters:

  • requested_tile: Vector2i
  • source: Node2D
  • map: TileMapLayer
  • settings_override: GridTargetingSettings (optional, default: null)

limit_tile_to_max_distance

Signature: limit_tile_to_max_distance(source: Node2D, target_tile: Vector2i, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i

[return] Tile respecting adjacency and region limits.

Returns: Vector2i

Parameters:

  • source: Node2D
  • target_tile: Vector2i
  • map: TileMapLayer
  • settings_override: GridTargetingSettings (optional, default: null)

_limit_using_astar

Signature: _limit_using_astar(source_tile: Vector2i, target_tile: Vector2i, max_steps: int, region: Rect2i) -> Variant

Returns: Variant

Parameters:

  • source_tile: Vector2i
  • target_tile: Vector2i
  • max_steps: int
  • region: Rect2i

_limit_via_step

Signature: _limit_via_step(current_tile: Vector2i, target_tile: Vector2i, max_steps: int, diagonal_mode: int, region: Rect2i) -> Vector2i

Returns: Vector2i

Parameters:

  • current_tile: Vector2i
  • target_tile: Vector2i
  • max_steps: int
  • diagonal_mode: int
  • region: Rect2i

_step_toward

Signature: _step_toward(current: Vector2i, target: Vector2i, diagonal_mode: int) -> Vector2i

Returns: Vector2i

Parameters:

  • current: Vector2i
  • target: Vector2i
  • diagonal_mode: int

_sample_tile_from_node

Signature: _sample_tile_from_node(node: Node2D, map: TileMapLayer) -> Vector2i

Returns: Vector2i

Parameters:

  • node: Node2D
  • map: TileMapLayer