Skip to content

Class

ManipulationParent

Generated GDScript class reference for GridPlacement.ManipulationParent.

Status
Current
Version
v6.0
Source updated
Active v6.0 guide line from Grid Placement repo
Generated on
2026-09-01

ManipulationParent

  • Transform container for preview objects during manipulation. Applies rotation, translation, and scale transforms to preview objects during building/manipulation. All child nodes automatically inherit these transforms through Godot's scene tree. ManipulationParent is the canonical transform parent used by GridPositioner2D and the GridPlacementHost pattern. It is NOT a deprecated orchestrator. The IndicatorManager is parented to ManipulationParent so indicators inherit the preview's rotation, scale, and flip transforms via the scene tree. Top-Down/Platformer: IndicatorManager as child of ManipulationParent (indicators rotate with preview) Isometric: IndicatorManager as child of ManipulationParent (indicators maintain correct orientation) ## Key Methods
  • apply_rotation(degrees)
  • Rotate this node and all children
  • apply_horizontal_flip()
  • Flip horizontally
  • apply_vertical_flip()
  • Flip vertically
  • reset()
  • Reset to identity transform ## Transform Behavior
  • Manipulation start: Resets to identity
  • During manipulation: Accumulates transforms
  • Manipulation end/cancel: Resets to identity For detailed parenting decisions, isometric considerations, and architectural patterns: See [b]the isometric placement guides[/b] For system architecture: See [b]docs/systems/parent_node_architecture.md[/b]

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

Syntax

class ManipulationParent extends PlacementNode2D

Members

NameKindSummary
rotatedSignalEmitted after a rotation transform is applied to this node (and inherited by all children, including the preview sprite). Fires for every rotation path: grid-aware clockwise/counter-clockwise and the fallback [method apply_rotation], from both input-driven and programmatic ([ManipulationService2D]) callers. Consumers may use this to swap a directional/pre-rotated sprite instead of visually spinning the texture -- whether to do so is entirely at the consumer's discretion (see the manipulation guide). [param new_rotation_degrees] This node's resulting [member Node2D.global_rotation_degrees]. [param cardinal] Best-effort nearest cardinal facing via [method PlacementGridRotationUtils.degrees_to_cardinal]; most meaningful for 90-degree grid increments.
flippedSignalEmitted after a flip transform is applied to this node (and inherited by all children). A single signal for both axes -- branch on [param axis] rather than connecting two separate signals. Mirrors the repo's signal-consolidation direction (see [signal ManipulationState.action_performed]). [param axis] Which axis was mirrored ([enum PlacementEnums.FlipAxis]).
set_hostMethod
resetMethod
get_logical_rotation_degreesMethod
get_cardinalMethod
is_flipped_horizontallyMethod
is_flipped_verticallyMethod
apply_rotationMethod
apply_grid_rotation_clockwiseMethod
apply_grid_rotation_counter_clockwiseMethod
apply_horizontal_flipMethod
apply_vertical_flipMethod
handle_transform_inputMethod
failedProperty
target_mapProperty
failedProperty
target_mapProperty
failedProperty-- FLIP H / V --
failedProperty
resolve_placement_dependenciesMethod
get_runtime_issuesMethod