AUTO-GENERATED FILE — DO NOT EDIT MANUALLY
Source: systems/grid/grid_targeting_system.gd
Version: 6.0
class_name: GridTargetingSystem
extends: System
Signals
target_tile_changed(target_tile: Vector2i, world_position: Vector2)- Instance state for ECS processing - now uses components directly
- Query for entities with targeting components
targeting_activated(user_id: String)- Instance state for ECS processing - now uses components directly
- Query for entities with targeting components
targeting_deactivated(user_id: String)- Instance state for ECS processing - now uses components directly
- Query for entities with targeting components
targeting_issue_detected(issue: String)- Instance state for ECS processing - now uses components directly
- Query for entities with targeting components
bus
Exports
(none)
Methods
query -> QueryBuilderprocess(entities: Array, components: Array, delta: float) -> void- Store component references for efficient access
setup -> void- Initialize coordinate system reference
cleanup -> void- Disconnect from event buses
_connect_to_events -> void- Grid targeting system primarily emits events, but can listen for validation events
_disconnect_from_events -> void_on_placement_validated(entity: Entity, result: bool) -> void- Update targeting state based on validation results
_on_manipulation_started(event: ManipulationEvent) -> void- Update targeting for manipulation start
_on_manipulation_completed(event: ManipulationEvent) -> void- Update targeting for manipulation completion
_update_targeting_validation(entity: Entity, result: bool) -> void_update_targeting_for_manipulation(entity: Entity, position: Vector2i, is_start: bool) -> void_process_targeting_updates(targeting_components: Array) -> void_validate_targeting_position(targeting: TargetingComponent) -> Array- Check grid bounds
reset_state -> voidfind_targeting_component(grid_id: String, user_id: String) -> TargetingComponentupdate_target_tile(grid_id: String, user_id: String, world_position: Vector2) -> Vector2iget_target_tile(grid_id: String, user_id: String) -> Vector2iis_targeting_active(grid_id: String, user_id: String) -> boolactivate_targeting(grid_id: String, user_id: String) -> voiddeactivate_targeting(grid_id: String, user_id: String) -> voidget_targeting_issues(grid_id: String, user_id: String) -> Arrayto_string -> Stringupdate_target_from_world(world_position: Vector2, grid_id: String, user_id: String) -> Vector2iget_closest_valid_tile(target_tile: Vector2i, grid_id: String) -> Vector2imove_node_to_tile_center(node: Node2D, tile: Vector2i, grid_id: String) -> voidget_tile_from_global_position(global_position: Vector2, grid_id: String) -> Vector2iis_targeting_ready(grid_id: String, user_id: String) -> bool_find_placer_entity(placer_id: String) -> Entityget_targeting_issues_for_context(grid_id: String, user_id: String) -> Array- Check grid configuration
get_runtime_issues -> Array- Check coordinate system
_init -> voidon_exit_tree -> void_to_string -> Stringget_instance -> GridTargetingSystemstatic_update_target_from_world(world_position: Vector2, grid_id: String, user_id: String) -> Vector2ienter_build_mode(user_id: String, grid_id: String) -> voidexit_build_mode(user_id: String, grid_id: String) -> voidcan_place_at(position: Vector2i, grid_id: String) -> boolupdate_targeting(mouse_event: InputEventMouse, user_id: String, grid_id: String) -> voidset_targeting_position(position: Vector2i, user_id: String, grid_id: String) -> voidget_targeting_position(user_id: String, grid_id: String) -> Vector2iis_position_valid(position: Vector2i, grid_id: String) -> boolget_placement_preview(user_id: String, grid_id: String) -> Nodehandle_grid_click(click_event: InputEventMouseButton, user_id: String, grid_id: String) -> void