Table of Contents

Class PhysicsMatchingUtils2D

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

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

class PhysicsMatchingUtils2D
PhysicsMatchingUtils2D

Properties

collision_objects

var collision_objects: Array[CollisionObject2D] = []

collidable_objects

var collidable_objects: Array[CollisionObject2D] = []

matched

var matched = false

collision_nodes

var collision_nodes: Array[Node] = []

collision_objects

var collision_objects: Array[CollisionObject2D] = []

matched_placement_shapes

var matched_placement_shapes: Array[CollisionShape2D] = []

obj_shapes

var obj_shapes = obj.find_children("", "CollisionShape2D", false, true)

collision_nodes

var collision_nodes: Array[Node] = []

collision_polygons

var collision_polygons: Array[CollisionPolygon2D] = []

matching_layer_polgyons

var matching_layer_polgyons: Array[CollisionPolygon2D] = []

layer_names

var layer_names = get_physics_layer_names(mask_layers)

layer_key

var layer_key = "layer_names/2d_physics/layer_" + str(layer)

layer_name

var layer_name: String

mask_layers

var mask_layers = get_layers_from_bitmask(p_bitmask)

mask_value

var mask_value = 1 << power

mask_layers

var mask_layers = get_layers_from_bitmask(p_bitmask)

layer_names

var layer_names = get_physics_layer_names(mask_layers)

active_obj_layers

var active_obj_layers = get_layers_from_bitmask(col_obj.collision_layer)

check_layers

var check_layers = get_layers_from_bitmask(p_check_mask)

Methods

get_matching_collision_objects

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

Parameters

p_container
shape_cast
require_all_mask_layers

Returns

get_castable_shapes

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

Parameters

instance
shape_cast

Returns

get_castable_collision_polygons

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

Parameters

instance
shape_cast

Returns

get_physics_layer_names

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

Parameters

p_layers

Returns

get_layers_from_bitmask

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

Parameters

p_bitmask

Returns

get_physics_layer_names_from_mask

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

Parameters

p_bitmask

Returns

object_has_matching_layer

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

Parameters

col_obj
p_check_mask

Returns