Table of Contents

Class CollisionObjectResolver

Namespace
GridPlacement.GDScript
Assembly
MoonBark.GridPlacement.GDScript.dll

Collision Object Resolver\n\nInternal utility for resolving collision objects and their test setups. Handles the logic for determining appropriate CollisionObject2D instances for layer checking and finding corresponding CollisionTestSetup2D objects.\n\nThis is an internal implementation detail of CollisionMapper and should not be used directly. Unit tests access it for testing the resolution logic.\n\n[b]Responsibilities:[/b] - Resolve CollisionObject2D for layer checking from various collision node types - Find appropriate CollisionTestSetup2D for collision objects - Validate collision object hierarchies - Provide type-safe collision object handling\n\n[b]Supported Collision Types:[/b] - CollisionObject2D (direct) - CollisionShape2D (via parent CollisionObject2D) - CollisionPolygon2D (via parent CollisionObject2D)

class CollisionObjectResolver extends RefCounted
CollisionObjectResolver

Properties

collision_object

Result of collision object resolution

var collision_object: CollisionObject2D = null

test_setup

var test_setup = _find_test_setup_for_collision_object(collision_obj, test_setups)

is_valid

var is_valid: bool = false

error_message

var error_message: String = ""

test_setup

var test_setup = _find_test_setup_for_collision_object(collision_obj, test_setups)

polygon_children

var polygon_children = collision_obj.find_children("", "CollisionPolygon2D", true, false)

parent

var parent = collision_node.get_parent()

collision_obj

var collision_obj = parent as CollisionObject2D

test_setup

var test_setup = _find_test_setup_for_collision_object(collision_obj, test_setups)

t

var t = typeof(test_setups)

s

var s = test_setups[key]

Methods

resolve_collision_object

func resolve_collision_object(collision_node: Node2D, test_setups: Array[CollisionTestSetup2D]) -> ResolutionResult:

Parameters

collision_node
test_setups

Returns

object_matches_layer_mask

func object_matches_layer_mask(collision_obj: CollisionObject2D, layer_mask: int) -> bool:

Parameters

collision_obj
layer_mask

Returns