On-grid cursor for placement. Recenters per [GridTargetingSettings] policy and follows mouse/keyboard input to update the tile-center position. Targeting and manipulation are separate: shape-cast acquisition is handled by dedicated components, and rotation/flip by ManipulationParent. This node only positions the cursor. resolve_placement_dependencies(container) is the injector integration point; set_dependencies(...) is the test/advanced helper.
Source: addons/grid_placement/systems/grid_targeting/grid_positioner/grid_positioner_2d.gd
Syntax
class GridPositioner2D extends Node2DMembers
| Name | Kind | Summary |
|---|---|---|
session | Property | Canonical host pattern: when set, [method _ready] self-configures and registers with the nearest [GridPlacementHost]. Null uses the deprecated injector pattern. |
LOG_PREFIX | Field | |
set_targeting_state | Method | |
cursor_source | Property | Optional cursor-source callable returning a screen position; null or unset falls back to the real viewport mouse. Tests inject a fixed value: positioner.cursor_source = func(): return Vector2(100, 100) |
input_processing_enabled | Property | Public flag & API for enabling/disabling input processing (used by tests) |
set_input_processing_enabled | Method | |
is_input_processing_enabled | Method | |
is_input_ready | Method | |
are_dependencies_ready | Method | |
move_to_viewport_center_tile | Method | |
move_to_cursor_center_tile | Method | |
remove_self_as_positioner | Method | |
update_visibility | Method | |
should_be_visible | Method | |
set_dependencies | Method | |
get_runtime_issues | Method | |
validate_dependencies | Method | |
get_visual_node | Method | |
is_visual_visible | Method | |
is_positioner_active | Method | |
are_dependencies_resolved | Method | |
to_diagnostic_string | Method |