From 440020e642f539079867577435a9f8b02075699b Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Mon, 10 Mar 2025 18:22:09 +0100 Subject: initial commit --- map/camera.gd | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 map/camera.gd (limited to 'map/camera.gd') diff --git a/map/camera.gd b/map/camera.gd new file mode 100644 index 0000000..f433157 --- /dev/null +++ b/map/camera.gd @@ -0,0 +1,22 @@ +extends Camera2D + + +@export var limit_tile_map: TileMapLayer + + +func _ready() -> void: + if limit_tile_map: + var tile_size := limit_tile_map.tile_set.tile_size + + limit_top = limit_tile_map.get_used_rect().position.y * tile_size.y + limit_bottom = limit_tile_map.get_used_rect().end.y * tile_size.y + limit_left = limit_tile_map.get_used_rect().position.x * tile_size.x + limit_right = limit_tile_map.get_used_rect().end.x * tile_size.x + + var difference := Vector2i(get_viewport_rect().size) - limit_tile_map.get_used_rect().size * tile_size + if difference.x > 0: + limit_left -= int(difference.x * 0.5) + limit_right += int(difference.x * 0.5) + if difference.y > 0: + limit_top -= int(difference.x * 0.5) + limit_bottom += int(difference.x * 0.5) -- cgit v1.2.3