Grid Placement

CollisionProcessor

AUTO-GENERATED (GDScript) API entry

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) -> void
  • invalidate_cache -> void
  • resolve_gb_dependencies(container: GBCompositionContainer) -> bool
  • get_runtime_issues -> Array
  • get_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]) -> bool
  • process_shape_offsets(rect_test_setup: RectCollisionTestingSetup, test_data: CollisionTestSetup2D, map: TileMapLayer, center_tile: Vector2i, tile_size: Vector2, shape_epsilon: float, col_obj: CollisionObject2D) -> Dictionary
  • calculate_tile_range(shape: Shape2D, bounds: Rect2, map: TileMapLayer, tile_size: Vector2, shape_transform: Transform2D) -> Dictionary
  • compute_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