ManipulationParent
[code]return[/code]: [i]Array[String][/i] - List of validation issues (empty if valid)
[code]return[/code]: [i]Array[String][/i] - List of validation issues (empty if valid)
Version: v5.0.0
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: TileMapLayerincrement_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: TileMapLayerincrement_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