AUTO-GENERATED FILE — DO NOT EDIT MANUALLY
Source: placement/manager/components/mapper/collision_processor.gd
Version: 5.0
class_name: CollisionProcessor
extends: GBInjectable
Signals
(none)
Exports
(none)
Methods
_init(p_logger: GBLogger) -> voidinvalidate_cache -> voidresolve_gb_dependencies(container: GBCompositionContainer) -> boolget_runtime_issues -> Arrayget_tile_offsets_for_collision(collision_obj: Node2D, test_data: CollisionTestSetup2D, map: TileMapLayer, positioner: Node2D) -> Dictionary- Validate inputs - return empty for invalid cases to be defensive
_get_tile_offsets_for_collision_polygon(polygon_node: CollisionPolygon2D, map: TileMapLayer, positioner: Node2D) -> Dictionary- CRITICAL: Use positioner position as coordinate reference for consistency
_get_tile_offsets_for_collision_object(test_data: CollisionTestSetup2D, map: TileMapLayer, positioner: Node2D) -> Dictionary_initialize_collision_mapping(positioner: Node2D, collision_positions: Dictionary, Array]) -> boolprocess_shape_offsets(rect_test_setup: RectCollisionTestingSetup, test_data: CollisionTestSetup2D, map: TileMapLayer, center_tile: Vector2i, tile_size: Vector2, shape_epsilon: float, col_obj: CollisionObject2D) -> Dictionarycalculate_tile_range(shape: Shape2D, bounds: Rect2, map: TileMapLayer, tile_size: Vector2, shape_transform: Transform2D) -> Dictionarycompute_shape_tile_offsets(shape: Shape2D, shape_transform: Transform2D, map: TileMapLayer, tile_size: Vector2, shape_epsilon: float, start_tile: Vector2i, end_exclusive: Vector2i, center_tile: Vector2i, shape_polygon: PackedVector2Array) -> Array- New unified path: delegate to CollisionGeometryUtils to compute polygon→tile offsets.
_merge_offsets_into_positions(shape_offsets: Array, collision_positions: Dictionary, Array], col_obj: Node2D, center_tile: Vector2i) -> void- Keep keys as relative offsets (tile_pos - center_tile). IndicatorFactory
_merge_collision_positions(target_positions: Dictionary, Array], source_positions: Dictionary, Array]) -> void