GBAStarPathManager
Limit the desired tile so...
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
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: GridTargetingSettingsp_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: Node2Dtarget_tile: Vector2imap: TileMapLayersettings_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: Vector2isource: Node2Dmap: TileMapLayersettings_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: Node2Dtarget_tile: Vector2imap: TileMapLayersettings_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: Vector2itarget_tile: Vector2imax_steps: intregion: 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: Vector2itarget_tile: Vector2imax_steps: intdiagonal_mode: intregion: Rect2i
_step_toward
Signature: _step_toward(current: Vector2i, target: Vector2i, diagonal_mode: int) -> Vector2i
Returns: Vector2i
Parameters:
current: Vector2itarget: Vector2idiagonal_mode: int
_sample_tile_from_node
Signature: _sample_tile_from_node(node: Node2D, map: TileMapLayer) -> Vector2i
Returns: Vector2i
Parameters:
node: Node2Dmap: TileMapLayer