extends Node2D class_name FreeCameraComponent @onready var camera : GameCamera = $GameCamera @export var tile_map : TileMap = null func _ready() -> void: if !tile_map: Log.err("FreeCameraComponent: tile_map is not set") # Stop the camera scrolling out of bounds of the map var tile_size : Vector2i = tile_map.get_tileset().tile_size var tilemap_size : Vector2i = tile_map.get_used_rect().end - tile_map.get_used_rect().position var map_size_x : int = tile_size.x * tilemap_size.x var map_size_y : int = tile_size.y * tilemap_size.y camera.set_limit(SIDE_LEFT, 0) camera.set_limit(SIDE_TOP, 0) camera.set_limit(SIDE_RIGHT, map_size_x) camera.set_limit(SIDE_BOTTOM, map_size_y) pass