Table of Contents

Class CollisionUtilities

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

Static utility methods for collision mapping.

class CollisionUtilities extends RefCounted
CollisionUtilities

Properties

tile_positions

var tile_positions: Array[Vector2i] = []

tile_size

var tile_size = p_map.tile_set.tile_size

center_tile

var center_tile = p_map.local_to_map(p_map.to_local(global_center_position))

tiles_wide

var tiles_wide = ceil(transformed_rect_size.x / tile_size.x)

tiles_high

var tiles_high = ceil(transformed_rect_size.y / tile_size.y)

tiles_left

var tiles_left = floor(tiles_wide / 2.0)

tiles_right

var tiles_right = tiles_wide - tiles_left

tiles_up

var tiles_up = floor(tiles_high / 2.0)

tiles_down

var tiles_down = tiles_high - tiles_up

tile_coords

var tile_coords = center_tile + Vector2i(x_offset, y_offset)

indicator_shape

var indicator_shape: Shape2D = tile_indicator.shape

owner_transform

var owner_transform: Transform2D = shape_owner.global_transform

col_obj

var col_obj: CollisionObject2D = shape_owner as CollisionObject2D

indicator_transform

var indicator_transform = tile_indicator.global_transform

Methods

get_rect_tile_positions

static func get_rect_tile_positions(p_map: Variant, global_center_position: Vector2, transformed_rect_size: Vector2) -> Array[Vector2i]:

Parameters

p_map
global_center_position
transformed_rect_size

Returns

does_indicator_overlap_shape

static func does_indicator_overlap_shape(tile_indicator: RuleCheckIndicator, shape: Shape2D, shape_owner: Node2D, shape_owner_id: int = -1) -> bool:

Parameters

tile_indicator
shape
shape_owner
shape_owner_id

Returns

object_matches_layer_mask

static func object_matches_layer_mask(collision_object: CollisionObject2D, mask: int) -> bool:

Parameters

collision_object
mask

Returns