Skip to content
ct

Class

ManipulationParent

Generated GDScript class reference for GridPlacement.ManipulationParent.

Status
Draft
Version
v6.0
Updated
Development docs generated from GDScript source

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

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
rotatedEventEmitted 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.
flippedEventEmitted 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
new_rotation_degProperty
apply_grid_rotation_counter_clockwiseMethod
new_rotation_degProperty
apply_horizontal_flipMethod
apply_vertical_flipMethod
settingsProperty
cardinalProperty
handle_transform_inputMethod
failedProperty
target_mapProperty
failedProperty
target_mapProperty
failedProperty-- FLIP H / V --
failedProperty
manipulation_dataProperty
manipulation_settingsProperty
actionsProperty
manipulatable_settingsProperty
statesProperty
settingsProperty
resolve_placement_dependenciesMethod
validation_issuesProperty
get_runtime_issuesMethod
issuesProperty