ManipulationParent

[code]return[/code]: [i]Array[String][/i] - List of validation issues (empty if valid)

sort Weight: 10

[code]return[/code]: [i]Array[String][/i] - List of validation issues (empty if valid)

Version: v5.0.0

STABLE

Inherits: GBNode2D
Source: manipulation_parent.gd
Parsing: AST-based for maximum accuracy with symbol typing


Constants

GBGridRotationUtils

Import grid-aware rotation utilities for cardinal direction rotation

Value: preload("res://addons/grid_building/utils/gb_grid_rotation_utils.gd")


Variables

_manipulation_state: ManipulationState:

The state where this node should set itself as the parent at runtime

Type: ManipulationState:


_manipulation_settings:

Manipulation settings - used to check reset_transform_on_manipulation


_container:

Container for dependency injection


Methods

reset

Signature: reset() -> void

to ensure consistent positioning and prevent transform accumulation issues.

Returns: void


apply_rotation

Signature: apply_rotation(degrees: float) -> void

[param degrees] Rotation amount in degrees to apply to this node and all children

Returns: void

Parameters:

  • degrees: float

apply_grid_rotation_clockwise

Signature: apply_grid_rotation_clockwise(target_map: TileMapLayer, increment_degrees: float = 90.0) -> float

[return] The new rotation angle in degrees (0-360 range)

Returns: float

Parameters:

  • target_map: TileMapLayer
  • increment_degrees: float (optional, default: 90.0)

apply_grid_rotation_counter_clockwise

Signature: apply_grid_rotation_counter_clockwise(target_map: TileMapLayer, increment_degrees: float = 90.0) -> float

[return] The new rotation angle in degrees (0-360 range)

Returns: float

Parameters:

  • target_map: TileMapLayer
  • increment_degrees: float (optional, default: 90.0)

apply_horizontal_flip

Signature: apply_horizontal_flip() -> void

[param] None - applies horizontal flip (scale.x *= -1) to this node and all children

Returns: void


apply_vertical_flip

Signature: apply_vertical_flip() -> void

[param] None - applies vertical flip (scale.y *= -1) to this node and all children

Returns: void


_unhandled_input

Signature: _unhandled_input(event: InputEvent) -> void

  • ManipulationSystem can focus on higher-level manipulation logic

Returns: void

Parameters:

  • event: InputEvent

_input

Signature: _input(event: InputEvent) -> void

Route standard input to unhandled to support tests or scenes that call _input directly.

Returns: void

Parameters:

  • event: InputEvent

_get_manipulation_settings

Signature: _get_manipulation_settings() -> ManipulationSettings

Gets manipulation settings from dependency context.

Returns: ManipulationSettings


_get_actions

Signature: _get_actions() -> GBActions

Gets actions from dependency context.

Returns: GBActions


_get_target_map_from_states

Signature: _get_target_map_from_states(states: GBStates) -> TileMapLayer

[return] TileMapLayer for grid calculations, or null if not available

Returns: TileMapLayer

Parameters:

  • states: GBStates

resolve_gb_dependencies

Signature: resolve_gb_dependencies(p_container : GBCompositionContainer: Variant) -> void

Returns: void

Parameters:

  • p_container : GBCompositionContainer: Variant

get_runtime_issues

Signature: get_runtime_issues() -> Array

return: Array[String] - List of validation issues (empty if valid)

Returns: Array


_on_started

Signature: _on_started(p_data : ManipulationData: Variant) -> void

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

_on_finished

Signature: _on_finished(p_data : ManipulationData: Variant) -> void

without having it immediately reset back to identity

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

_on_canceled

Signature: _on_canceled(p_data : ManipulationData: Variant) -> void

Always reset on finish/cancel to clean up state

Returns: void

Parameters:

  • p_data : ManipulationData: Variant