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_mapglobal_center_positiontransformed_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_indicatorshapeshape_ownershape_owner_id
Returns
object_matches_layer_mask
static func object_matches_layer_mask(collision_object: CollisionObject2D, mask: int) -> bool:
Parameters
collision_objectmask