GridTargetingSystem

Gets issues that would prevent...

sort Weight: 10

Gets issues that would prevent the targeting_system from being able to target. This should be called after grid targeting state properties have all been defined

Version: v5.0.0

STABLE

Inherits: GBSystem
Source: grid_targeting_system.gd
Parsing: AST-based for maximum accuracy with symbol typing


Variables

_logger:


_path_manager:


target_tile: Vector2

The tile location where the mouse is currently hovering over represented as X / Y values of the _targeting_state.target_map

Type: Vector2


ui_mouse_handled: bool

Whether the mouse input was consumed by GUI already or not (renamed from mouse_handled)

Type: bool

Default: false


_systems_context: GBSystemsContext

Contains the current values for targeting _targeting_state related properties

Type: GBSystemsContext


_targeting_state: GridTargetingState

Type: GridTargetingState


_targeting_settings: GridTargetingSettings

Type: GridTargetingSettings


_mode_state: ModeState

Type: ModeState


astar_grid: AStarGrid2D

Type: AStarGrid2D

Default: null


Signals

astar_grid_changed(astar_grid : AStarGrid2D: Variant)

Emitted when the AStarGrid2D used by the Grid Targeting System is created or changes

Parameters:

  • astar_grid : AStarGrid2D: Variant

Methods

create_with_injection

Signature: static create_with_injection(p_parent : Node: Variant, container: GBCompositionContainer) -> GridTargetingSystem

Creates a GridTargetingSystem with dependency injection from container.

Returns: GridTargetingSystem

Static: true

Parameters:

  • p_parent : Node: Variant
  • container: GBCompositionContainer

get_runtime_issues

Signature: get_runtime_issues() -> Array

Returns list of validation issues (empty if valid).

Returns: Array


get_state

Signature: get_state() -> GridTargetingState

Returns the underlying GridTargetingState used by this system.

Returns: GridTargetingState


_input

Signature: _input(event: InputEvent) -> void

NOTE: Positioner updates are now handled by GridPositioner2D

Returns: void

Parameters:

  • event: InputEvent

resolve_gb_dependencies

Signature: resolve_gb_dependencies(p_container : GBCompositionContainer: Variant) -> void

Mouse movement: only update astar grid if mouse input is enabled

Returns: void

Parameters:

  • p_container : GBCompositionContainer: Variant

move_node_to_closest_valid_tile

Signature: move_node_to_closest_valid_tile(p_target_tile : Vector2i: Variant, p_positioner : Node2D: Variant, p_source : Node2D: Variant) -> Error

p_source: Node2D - Source node for distance calculations when limit_to_adjacent is enabled

Returns: Error

Parameters:

  • p_target_tile : Vector2i: Variant
  • p_positioner : Node2D: Variant
  • p_source : Node2D: Variant

move_to_tile

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

p_tile: Vector2 - Tile coordinates to move to

Returns: Error

Parameters:

  • p_node : Node2D: Variant
  • p_tile : Vector2: Variant

get_tile_from_global_position

Signature: get_tile_from_global_position(p_global_position : Vector2: Variant, p_map : Node2D: Variant) -> void

p_map: Node2D - TileMap or TileMapLayer to use for coordinate conversion

Returns: void

Parameters:

  • p_global_position : Vector2: Variant
  • p_map : Node2D: Variant

update_astar_grid_2d

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

p_targeting_settings: GridTargetingSettings - Settings to apply to the AStar grid

Returns: void

Parameters:

  • p_astar : AStarGrid2D: Variant
  • p_targeting_settings : GridTargetingSettings: Variant

_on_validator_valid_changed

Signature: _on_validator_valid_changed(is_valid : bool: Variant) -> void

Refresh the manager’s cached region for the active map, then apply settings

Returns: void

Parameters:

  • is_valid : bool: Variant

_on_mode_changed

Signature: _on_mode_changed(p_mode : GBEnums.Mode: Variant) -> void

Returns: void

Parameters:

  • p_mode : GBEnums.Mode: Variant

_subscribe_targeting_settings

Signature: _subscribe_targeting_settings() -> void

Subscribe to all needed signals

Returns: void


_on_settings_changed

Signature: _on_settings_changed() -> void

Returns: void


validate_and_log_issues

Signature: validate_and_log_issues() -> Array

Returns the list of issues (empty when valid).

Returns: Array


_unsubscribe_targeting_settings

Signature: _unsubscribe_targeting_settings() -> void

Disconnect from all needed signals

Returns: void


_get_target_map

Signature: _get_target_map() -> TileMapLayer

Returns: TileMapLayer


_are_dependencies_resolved

Signature: _are_dependencies_resolved() -> bool

return: bool - True if dependencies are available, false otherwise

Returns: bool


validate_ready

Signature: validate_ready() -> bool

Returns: bool


get_targeting_issues

Signature: get_targeting_issues() -> Array

This should be called after grid targeting state properties have all been defined

Returns: Array