## RoomNavigator — autoload that moves the Camera2D smoothly between hospital floors. extends Node signal room_changed(floor_index: int) const FLOOR_HEIGHT: float = 720.0 const CAMERA_TWEEN_DURATION: float = 0.6 var _current_floor: int = 0 var _camera: Camera2D func initialize(camera: Camera2D) -> void: _camera = camera func go_to_floor(floor_index: int) -> void: if _camera == null or floor_index == _current_floor: return _current_floor = floor_index var target_y: float = floor_index * -FLOOR_HEIGHT var tween: Tween = _camera.create_tween() tween.set_ease(Tween.EASE_IN_OUT) tween.set_trans(Tween.TRANS_SINE) tween.tween_property(_camera, "position:y", target_y, CAMERA_TWEEN_DURATION) room_changed.emit(floor_index) func get_current_floor() -> int: return _current_floor