Skip to content

PhysicsMatchingUtils2D

Utilities for Getting Collision Shapes, Objects, and Polygons for Collision Tasks

static func get_matching_collision_objects( p_container: Node2D, shape_cast: ShapeCast2D, require_all_mask_layers: bool ) -> Array[CollisionObject2D]

Gets all collision objects from the preview_instance including self and children for matching nodes. Must have layers matching at least one of the mask layers from the tile collision template.

p_container: Node2D - Container to search for collision objects

shape_cast: ShapeCast2D - Shape cast providing collision mask for matching

require_all_mask_layers: bool - Whether objects must match all mask layers (default false)

static func get_castable_shapes( instance: Node2D, shape_cast: ShapeCast2D ) -> Array[CollisionShape2D]

From a given instance_root, find the collision shapes attached to collision objects that have a layer that matches the placement mask layers of the building system

static func get_castable_collision_polygons( instance: Node2D, shape_cast: ShapeCast2D ) -> Array[CollisionPolygon2D]

Get all collision polygon 2d nodes that are children with matching layers to the tile indicator mask

static func get_physics_layer_names( p_layers: Array[int] )
static func get_layers_from_bitmask( p_bitmask: int ) -> Array[int]

Gets the layer numbers that are active in a given mask value.

p_bitmask: int - Physics layer bitmask to extract layer numbers from

static func get_physics_layer_names_from_mask( p_bitmask: int ) -> Array[String]

Gets the active layer names from a given physics mask int.

p_bitmask: int - Physics layer bitmask to get layer names for

static func object_has_matching_layer( col_obj: CollisionObject2D, p_check_mask: int ) -> bool

Checks if a collision object has any active physics layers that match a given bitmask.

col_obj: CollisionObject2D - Collision object to check layers for

p_check_mask: int - Physics layer bitmask to match against

addons/grid_building/utils/physics_matching_utils_2d.gd


This API reference is automatically generated from the plugin source code. For implementation examples and usage guides, see the guides section.