Class PlacementAStarPathManager
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Manage configuration and path queries for AStarGrid2D instances used by grid targeting.
class PlacementAStarPathManager extends RefCounted
PlacementAStarPathManager
Properties
new_grid
var new_grid = grid if grid != null else AStarGrid2D.new()
size
var size: Vector2i = _settings.region_size
region
var region = map.get_used_rect()
grid_region
var grid_region = _grid.region
settings
var settings = settings_override if settings_override != null else _settings
region
var region = map.get_used_rect()
grid_region
var grid_region = _grid.region
snapped_target
var snapped_target = GBPositioning2DUtils.snap_tile_to_region(target_tile, region)
max_steps
var max_steps = max(settings.max_tile_distance, 0)
source_tile
var source_tile = _sample_tile_from_node(source, map)
limited
var limited = _limit_using_astar(source_tile, snapped_target, max_steps, region)
path
var path: PackedVector2Array = _grid.get_point_path(source_tile, target_tile)
index
var index = clamp(max_steps, 0, path.size() - 1)
waypoint
var waypoint: Vector2 = path[index]
tile
var tile = Vector2i(int(round(waypoint.x)), int(round(waypoint.y)))
current
var current = current_tile
steps
var steps = max_steps
step
var step = _step_toward(current, target_tile, diagonal_mode)
dx
var dx = target.x - current.x
dy
var dy = target.y - current.y
step_x
var step_x = 0
step_y
var step_y = 0
local
var local = map.to_local(node.global_position)
Methods
get_grid
func get_grid() -> AStarGrid2D:
Returns
set_grid
func set_grid(grid: AStarGrid2D) -> bool:
Parameters
grid
Returns
configure
func configure(settings: GridTargetingSettings) -> void:
Parameters
settings
Returns
on_region_size_changed
func on_region_size_changed(size: Vector2i) -> void:
Parameters
size
Returns
on_diagonal_mode_changed
func on_diagonal_mode_changed(mode: AStarGrid2D.DiagonalMode) -> void:
Parameters
mode
Returns
on_default_compute_heuristic_changed
func on_default_compute_heuristic_changed(heuristic: AStarGrid2D.Heuristic) -> void:
Parameters
heuristic
Returns
on_default_estimate_heuristic_changed
func on_default_estimate_heuristic_changed(heuristic: AStarGrid2D.Heuristic) -> void:
Parameters
heuristic
Returns
on_cell_shape_changed
func on_cell_shape_changed(shape: AStarGrid2D.CellShape) -> void:
Parameters
shape
Returns
update_region
func update_region(map: TileMapLayer) -> void:
Parameters
map
Returns
update_if_dirty
func update_if_dirty() -> void:
Returns
resolve_target_tile
func resolve_target_tile(source: Node2D, target_tile: Vector2i, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i:
Parameters
sourcetarget_tilemapsettings_override
Returns
get_closest_valid_tile
func get_closest_valid_tile(requested_tile: Vector2i, source: Node2D, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i:
Parameters
requested_tilesourcemapsettings_override
Returns
limit_tile_to_max_distance
func limit_tile_to_max_distance(source: Node2D, target_tile: Vector2i, map: TileMapLayer, settings_override: GridTargetingSettings = null) -> Vector2i:
Parameters
sourcetarget_tilemapsettings_override