Class GridTargetingSystem
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Orchestrates grid targeting dependencies (state, settings, path manager, position mover).\n\nProvides a single injection point for GridTargeting/Settings/PathManager, owns the shared AStar grid manager, and exposes runtime APIs for other systems (placement, manipulation) to validate targeting readiness or request tile movements. Scene nodes such as GridPositioner2D focus on visuals/input, while this system keeps configuration, validation, and helper delegation centralized.
class GridTargetingSystem extends GBSystem
Properties
system
var system = GridTargetingSystem.new()
issues
var issues: Array[String] = get_runtime_issues()
logger
var logger = container.get_logger()
issues
var issues: Array[String] = get_runtime_issues()
editor_issues
var editor_issues: Array[String] = _targeting_settings.get_editor_issues()
target_tile
The tile location where the mouse is currently hovering over represented as X / Y values of the _targeting_state.target_map
var target_tile: Vector2
ui_mouse_handled
Whether the mouse input was consumed by GUI already or not (renamed from mouse_handled)
var ui_mouse_handled: bool = false
astar_grid
var astar_grid: AStarGrid2D = null
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)
validation_issues
var validation_issues = get_runtime_issues()
issues
var issues: Array[String] = get_runtime_issues()
map
var map: TileMapLayer = _targeting_state.target_map
issues
var issues: Array[String] = get_runtime_issues()
issues
var issues: Array[String] = get_runtime_issues()
state_issues
var state_issues = _targeting_state.get_runtime_issues()
Methods
create_with_injection
static func create_with_injection(p_parent : Node, container: PlacementContainer) -> GridTargetingSystem:
Parameters
p_parentcontainer
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]:
Returns
get_state
func get_state() -> GridTargetingState:
Returns
resolve_gb_dependencies
func resolve_gb_dependencies(p_container : PlacementContainer) -> void:
Parameters
p_container
Returns
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_2d
func update_astar_grid_2d(p_astar : AStarGrid2D, p_targeting_settings : GridTargetingSettings) -> void:
Parameters
p_astarp_targeting_settings
Returns
validate_and_log_issues
func validate_and_log_issues() -> Array[String]:
Returns
validate_ready
func validate_ready() -> bool:
Returns
get_targeting_issues
func get_targeting_issues() -> Array[String]:
Returns
Events
astar_grid_changed
Emitted when the AStarGrid2D used by the Grid Targeting System is created or changes
signal astar_grid_changed(astar_grid : AStarGrid2D)