extends Node3D class_name ClientNode @export var is_connected_to_camera: bool = false var available_cameras: Array[CameraMount] = [] # Called every frame. 'delta' is the elapsed time since the previous frame. func _physics_process(delta: float) -> void: if not is_connected_to_camera: var game_root := helpers.get_root_node() var available_cameras_raw: Array[Node] = game_root.find_children( "*", "CameraMount", true, false ) for camera_raw in available_cameras_raw: var camera: CameraMount = camera_raw as CameraMount if camera.active: if camera.accept_input: camera.connect_to_camera() break camera.connect_to_camera() available_cameras.append(camera) @rpc("authority", "reliable", "call_local") func force_camera_attachment(camera_mount: CameraMount) -> void: camera_mount.connect_to_camera()