Scene-free manipulation service. Makes 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 | Signal | |
supported_dimensions | Method |