Class GridTargetingService
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Scene-free grid targeting service. Extracted from GridTargetingSystem (6.0.0-S Phase 1) to make AStar/grid positioning logic directly unit-testable without a scene tree.\n\nHandles: tile-to-world coordinate mapping, closest-valid-tile resolution, AStarGrid2D configuration, and targeting readiness validation.\n\nSignal emission (astar_grid_changed) and input handling stay on the hosting Node — the service is pure logic over injectable state.\n\nUsage: var service := GridTargetingService.new() service.configure(targeting_state, targeting_settings, mode_state, path_manager, logger) var err := service.move_node_to_closest_valid_tile(tile, pos, src)
class GridTargetingService extends RefCounted
GridTargetingService
Properties
map
var map: TileMapLayer = _targeting_state.target_map
resolved_tile
var resolved_tile: Vector2i = p_target_tile
tile
var tile = Vector2i(int(round(p_tile.x)), int(round(p_tile.y)))
map
var map: TileMapLayer = _targeting_state.target_map
map_position
var map_position = p_map.to_local(p_global_position)
issues
var issues: Array[String] = []
issues
var issues: Array[String] = []
state_issues
var state_issues = _targeting_state.get_runtime_issues()
map
var map: TileMapLayer = _targeting_state.target_map
issues
var issues: Array[String] = []
editor_issues
var editor_issues: Array[String] = _targeting_settings.get_editor_issues()
active_grid
var active_grid: AStarGrid2D = null
Methods
configure
func configure( p_targeting_state: GridTargetingState,
move_node_to_closest_valid_tile
func move_node_to_closest_valid_tile(p_target_tile: Vector2i, p_positioner: Node2D, p_source: Node2D) -> Error:
Parameters
p_target_tilep_positionerp_source
Returns
move_to_tile
func move_to_tile(p_node: Node2D, p_tile: Vector2) -> Error:
Parameters
p_nodep_tile
Returns
get_tile_from_global_position
func get_tile_from_global_position(p_global_position: Vector2, p_map: Node2D) -> Vector2i:
Parameters
p_global_positionp_map
Returns
update_astar_grid
func update_astar_grid(p_astar: AStarGrid2D) -> void:
Parameters
p_astar
Returns
validate_ready
func validate_ready() -> bool:
Returns
get_targeting_issues
func get_targeting_issues() -> Array[String]:
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]:
Returns
get_path_manager
func get_path_manager() -> PlacementAStarPathManager:
Returns
get_target_map
func get_target_map() -> TileMapLayer: