Table of Contents

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
GridTargetingSystem

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_parent
container

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_tile
p_positioner
p_source

Returns

move_to_tile

func move_to_tile(p_node : Node2D, p_tile : Vector2) -> Error:

Parameters

p_node
p_tile

Returns

get_tile_from_global_position

func get_tile_from_global_position(p_global_position : Vector2, p_map : Node2D) -> Vector2i:

Parameters

p_global_position
p_map

Returns

update_astar_grid_2d

func update_astar_grid_2d(p_astar : AStarGrid2D, p_targeting_settings : GridTargetingSettings) -> void:

Parameters

p_astar
p_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)