Chris' Tutorials
Docs/Grid Placement

Class

ManipulationState

Generated GDScript class reference for GridPlacement.ManipulationState.

StatusDraft
Versionv6.0
UpdatedDevelopment docs generated from GDScript source

This is unreleased documentation in active development. APIs, class names, and behavior may change before the final release.

Draft — Unreleased:This page is in active development. APIs, class names, and behavior may change before the release is finalized. Use it as a preview of what's coming — not as a stable integration target.

Source: addons/grid_placement/systems/manipulation/manipulation_state.gd

Syntax

class ManipulationState extends PlacementResource

Members

NameKindSummary
data_changedEventThe manipulation state holds reference to the object being manipulated and its temporary manipulated copy. It also is the source of signals regarding object manipulation like when moving or demolishing an object is started, canceled, or stopped. Emitted when the active manipulation on an object changes Null means there is no manipulation currently active on the state.
active_manipulatable_changedEventThe manipulatable that is being hovered over
active_target_node_changedEventSignal for when the currently active target node changes
parent_changedEventWhen the node for performing transform adjustments to (rotate, flip, etc) during a manipulation changes
action_performedEventEmitted when any manipulation action is performed (started, finished, failed, or canceled). Consolidated signal for new consumers. Compat shim: individual signals still emit for 5.1.0.
startedEventEmitted when a manipulation action is started @deprecated Prefer [signal action_performed] for new connections.
pre_demolishEventEmitted after demolish validation passes and before [code]queue_free[/code] runs. Listeners may call [code]data.veto()[/code] from this callback to cancel the demolition; the CANCELED status is then emitted and the [Node] is preserved. The data is always a [DemolishData] (the demolish path is the only path that fires this signal — move/rotate/flip do not). Additive in 5.1.0-C; existing [code]started[/code] / [code]finished[/code] / [code]failed[/code] timing is unchanged.
confirmedEventEmitted when a manipulation action is confirmed
finishedEventEmitted when a manipulation action is finished @deprecated Prefer [signal action_performed] for new connections.
canceledEventEmitted when a manipulation action is canceled @deprecated Prefer [signal action_performed] for new connections.
failedEventEmitted when a manipulation action fails @deprecated Prefer [signal action_performed] for new connections.
refundersPropertyRegistered [Refunder] consumers (5.1.0-D). Each is called from the [signal pre_demolish] handler with the live target and the [BuildCost] stamped at placement time; any refunder returning true vetoes the demolish. Consumers append on bootstrap: [code]container.get_states().manipulation.refunders.append(MyRefunder.new())[/code]
costProperty
dataPropertyData of the active manipulation
active_manipulatablePropertyThe current targeted (hovered, etc) manipulatable component, if any
active_target_nodePropertyCompatibility alias required by older tests referencing 'current_target'. Accepts either a Manipulatable directly or a Node/Node2D whose descendant has a Manipulatable.
mProperty
parentPropertyNode which is actually manipulated to effect all children including the active target node and any other nodes that need to move to be updated with the base The ManipulationParent node responsible for coordinating transforms during manipulation. Enforces ManipulationParent class to ensure proper transform coordination methods are available. This ensures indicators rotate/flip with manipulated objects via transform inheritance.
parent_3dProperty3D mirror of [member parent].
get_manipulatorMethod
set_targetedMethod
is_targeted_movableMethod
validate_setupMethod
passingProperty
get_editor_issuesMethod
issuesProperty
get_runtime_issuesMethod
issuesProperty

Source

addons/grid_placement/systems/manipulation/manipulation_state.gd

Plugin docs root:gdscript/plugins/grid_placement_dev/docs