Grid Placement
Development ⚠️ GridPlacement 6.0 (GECS) is in active development. This is the GDScript ECS architecture.

GridTargetingSystem

AUTO-GENERATED (GDScript) API entry

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 -> QueryBuilder
  • process(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 -> void
  • find_targeting_component(grid_id: String, user_id: String) -> TargetingComponent
  • update_target_tile(grid_id: String, user_id: String, world_position: Vector2) -> Vector2i
  • get_target_tile(grid_id: String, user_id: String) -> Vector2i
  • is_targeting_active(grid_id: String, user_id: String) -> bool
  • activate_targeting(grid_id: String, user_id: String) -> void
  • deactivate_targeting(grid_id: String, user_id: String) -> void
  • get_targeting_issues(grid_id: String, user_id: String) -> Array
  • to_string -> String
  • update_target_from_world(world_position: Vector2, grid_id: String, user_id: String) -> Vector2i
  • get_closest_valid_tile(target_tile: Vector2i, grid_id: String) -> Vector2i
  • move_node_to_tile_center(node: Node2D, tile: Vector2i, grid_id: String) -> void
  • get_tile_from_global_position(global_position: Vector2, grid_id: String) -> Vector2i
  • is_targeting_ready(grid_id: String, user_id: String) -> bool
  • _find_placer_entity(placer_id: String) -> Entity
  • get_targeting_issues_for_context(grid_id: String, user_id: String) -> Array
    • Check grid configuration
  • get_runtime_issues -> Array
    • Check coordinate system
  • _init -> void
  • on_exit_tree -> void
  • _to_string -> String
  • get_instance -> GridTargetingSystem
  • static_update_target_from_world(world_position: Vector2, grid_id: String, user_id: String) -> Vector2i
  • enter_build_mode(user_id: String, grid_id: String) -> void
  • exit_build_mode(user_id: String, grid_id: String) -> void
  • can_place_at(position: Vector2i, grid_id: String) -> bool
  • update_targeting(mouse_event: InputEventMouse, user_id: String, grid_id: String) -> void
  • set_targeting_position(position: Vector2i, user_id: String, grid_id: String) -> void
  • get_targeting_position(user_id: String, grid_id: String) -> Vector2i
  • is_position_valid(position: Vector2i, grid_id: String) -> bool
  • get_placement_preview(user_id: String, grid_id: String) -> Node
  • handle_grid_click(click_event: InputEventMouseButton, user_id: String, grid_id: String) -> void