Scene-free manipulation service. Extracted from ManipulationSystem (6.0.0-S to make move/rotate/flip/demolish logic directly unit-testable without a scene tree. Handles the full manipulation lifecycle: move copy creation, rule validation, completion/placement, cancellation, rotation/flip/scale transforms, physics-layer management, and demolish. Signal emission and indicator signals (move_indicators_ready) stay on the hosting Node — the service emits them through injected callbacks. Usage: var service := ManipulationService2D.new() service.configure(states, manipulation_settings, actions, indicator_context, logger) var data := service.try_move(some_node)
Source: addons/grid_placement/systems/manipulation/manipulation_service_2d.gd
Syntax
class ManipulationService2D extends ManipulationServiceContractMembers
| Name | Kind | Summary |
|---|---|---|
move_indicators_ready | Event | |
supported_dimensions | Method | |
configure | Method | |
set_source_tree_exiting_callback | Method | |
get_last_transform_denial | Method | |
set_states | Method | |
try_move | Method | |
failed_reason | Property | |
source | Property | |
move_data | Property | |
started | Property | |
try_placement | Method | |
bad_move_results | Property | |
target_root | Property | |
move_rules | Property | |
ignore_base | Property | |
validation_results | Property | |
setup_report | Property | |
issues | Property | |
vr | Property | |
old_transform | Property | |
manipulation_parent | Property | |
final_position | Property | |
accumulated_rotation | Property | |
accumulated_scale | Property | |
root_node | Property | |
body | Property | |
node2d | Property | |
applied_position | Property | |
try_demolish | Method | |
cancel | Method | |
data | Property | |
rotate | Method | |
denial | Property | |
manipulation_parent | Property | |
flip_horizontal | Method | |
denial | Property | |
manipulation_parent | Property | |
flip_vertical | Method | |
denial | Property | |
manipulation_parent | Property | |
get_targeted | Method | |
set_targeted | Method | |
is_ready | Method | |
move_data | Property | |
manipulatable | Property | |
move_data | Property | |
obj_settings | Property | |
obj_settings | Property | |
obj_settings | Property | |
source | Property | |
move_data | Property | |
failed | Property | |
root | Property | |
kept_script_types | Property | |
source_rotation | Property | |
source_scale | Property | |
move_rules | Property | |
ignore_base_rules | Property | |
report | Property | |
indicators | Property | |
physics_objects | Property |
Source
addons/grid_placement/systems/manipulation/manipulation_service_2d.gd
Plugin docs root:gdscript/plugins/grid_placement_dev/docs