CollisionMapper

[b]Guard: Setup Validation[/b] Checks if...

sort Weight: 10

[b]Guard: Setup Validation[/b] Checks if setup() has been called and logs warnings if incomplete. [b]Returns[/b]: bool – true if setup is complete, false otherwise (logs and prevents continuation).

Version: v5.0.0

STABLE

Inherits: GBInjectable
Source: collision_mapper.gd
Parsing: AST-based for maximum accuracy with symbol typing


Constants

_CollisionUtilities

Value: preload("uid://842dmikaq7xu")


_CollisionObjectResolver

Value: preload("res://addons/grid_building/placement/manager/components/mapper/collision_object_resolver.gd")


MIN_POLY_TILE_OVERLAP_RATIO


Variables

_targeting_state:


indicator_contact_positions:


test_indicator:


test_setups: Array[CollisionTestSetup2D]

Maps each CollisionObject2D to its CollisionTestSetup2D for collision testing.

Type: Array[CollisionTestSetup2D]

Default: []


_logger: GBLogger

Type: GBLogger


_collision_processor:

Sub-objects


_object_resolver:


Methods

create_with_injection

Signature: static create_with_injection(container: GBCompositionContainer) -> CollisionMapper

Returns: CollisionMapper – a ready instance; logs warnings if injection issues are found.

Returns: CollisionMapper

Static: true

Parameters:

  • container: GBCompositionContainer

get_runtime_issues

Signature: get_runtime_issues() -> Array

Returns: Array[String]

Returns: Array


_init

Signature: _init(targeting_state: GridTargetingState, p_logger : GBLogger: Variant) -> void

p_logger: GBLogger – for diagnostics.

Returns: void

Parameters:

  • targeting_state: GridTargetingState
  • p_logger : GBLogger: Variant

resolve_gb_dependencies

Signature: resolve_gb_dependencies(container: GBCompositionContainer) -> bool

Returns - bool - Whether the injection was successful or not

Returns: bool

Parameters:

  • container: GBCompositionContainer

setup

Signature: setup(p_test_indicator: RuleCheckIndicator, p_collision_object_test_setups : Array[CollisionTestSetup2D]: Variant) -> void

p_collision_object_test_setups: Array[CollisionTestSetup2D] – precomputed shape info.

Returns: void

Parameters:

  • p_test_indicator: RuleCheckIndicator
  • p_collision_object_test_setups : Array[CollisionTestSetup2D]: Variant

_get_tile_offsets_for_resolved_object

Signature: _get_tile_offsets_for_resolved_object(collision_node: Node2D, test_setup: CollisionTestSetup2D) -> Dictionary

@return Dictionary[Vector2i, Array] of tile offsets

Returns: Dictionary

Parameters:

  • collision_node: Node2D
  • test_setup: CollisionTestSetup2D

get_tile_offsets_for_collision_polygon

Signature: get_tile_offsets_for_collision_polygon(collision_obj: Node2D, tile_map: TileMapLayer) -> Dictionary

Returns: Dictionary – tile positions mapped to collision objects.

Returns: Dictionary

Parameters:

  • collision_obj: Node2D
  • tile_map: TileMapLayer

get_tile_offsets_for_test_collisions

Signature: get_tile_offsets_for_test_collisions(test_data: CollisionTestSetup2D) -> Dictionary

Returns: Dictionary – offsets to contributing nodes for that source.

Returns: Dictionary

Parameters:

  • test_data: CollisionTestSetup2D

get_rect_tile_positions

Signature: get_rect_tile_positions(global_center_position: Vector2, transformed_rect_size: Vector2) -> Array

Returns: Array[Vector2i]

Returns: Array

Parameters:

  • global_center_position: Vector2
  • transformed_rect_size: Vector2

_guard_setup_complete

Signature: _guard_setup_complete() -> bool

Returns: bool – true if setup is complete, false otherwise (logs and prevents continuation).

Returns: bool