class_name CockpitSwitchPanel extends Node3D ## Imported switch panel. Decorative in this slice: every control stays in its ## exported rest pose and no input reaches it. const CONTROL_PREFIXES: Array[String] = ["Toggle_", "Rocker_", "Cover_", "Lever_"] var _controls: Array[Node3D] = [] func _ready() -> void: for prefix: String in CONTROL_PREFIXES: for control: Node in find_children("%s*" % prefix, "Node3D", true, false): _controls.append(control as Node3D) func control_count() -> int: return _controls.size() func controls_are_at_rest() -> bool: for control: Node3D in _controls: if not control.rotation.is_zero_approx(): return false return true