| CCircuitAnalyzer | |
| CDiagnosticSystem | Motor de diagnóstico del circuito para el panel del Técnico. Clase pura (sin MonoBehaviour) — se instancia desde TechnicianUI.cs con: private DiagnosticSystem _diagnostic = new DiagnosticSystem(); |
| CINetworkRunnerCallbacks | |
| CConnectionManager | |
| CIPointerClickHandler | |
| CDeskComponent | Componente físico sobre la mesa del Técnico. PC: hover (mouse) + click → selecciona y coloca en la bandeja. VR: rayo del controlador → hover + gatillo → mismo resultado |
| CIPointerEnterHandler | |
| CDeskComponent | Componente físico sobre la mesa del Técnico. PC: hover (mouse) + click → selecciona y coloca en la bandeja. VR: rayo del controlador → hover + gatillo → mismo resultado |
| CIPointerExitHandler | |
| CDeskComponent | Componente físico sobre la mesa del Técnico. PC: hover (mouse) + click → selecciona y coloca en la bandeja. VR: rayo del controlador → hover + gatillo → mismo resultado |
| CLevelRecord | |
| CManualData | |
| CMonoBehaviour | |
| CChallengeTag | Etiqueta que indica a qué reto(s) pertenece un componente eléctrico. Agregar este script a cada GameObject de componente en el circuito maestro |
| CCircuitDiagramPanel | Panel WorldSpace que dibuja el diagrama del circuito del reto activo. Se auto-detecta del CircuitManager padre al hacer Start(). Actualiza colores de pistas y componentes vía CircuitManager.OnCircuitChanged |
| CCircuitManager | Simula el circuito eléctrico para los 4 retos del Serious Game. Topología configurable: Serie (Reto 1), Paralelo (Reto 2), Mixto (Reto 3). Usa eventos en lugar de polling en Update() para evitar spam de Debug.Log |
| CCircuitNode | Nodo eléctrico del circuito. Almacena voltaje y corriente calculados por CircuitManager. El multímetro lee estos valores al hacer contacto |
| CCircuitWireRenderer | Dibuja cables visuales entre componentes del circuito usando LineRenderer. Se actualiza automáticamente cuando el circuito cambia (OnCircuitChanged) |
| CComponentDeliverySystem | Sistema de entrega asimétrica de componentes — VERSIÓN CORRECTA |
| CComponentSendingTray | Bandeja de envío sobre la mesa del Técnico |
| CComponentSlot | Slot físico donde el Explorador instala un componente recibido del Técnico. CORRECCIONES respecto a la versión anterior: |
| CConnectionManager | |
| CDeskComponent | Componente físico sobre la mesa del Técnico. PC: hover (mouse) + click → selecciona y coloca en la bandeja. VR: rayo del controlador → hover + gatillo → mismo resultado |
| CElectricalComponent | |
| CArduinoPin | Simula un pin del Arduino para el Reto 4. Permite fallas: pin incorrecto y cable suelto en la protoboard |
| CCapacitor | Capacitor electrolítico para el Reto 3. Simula fallo por polaridad invertida (humo + vibración háptica). En CC actúa como circuito abierto (resistencia muy alta) excepto en cortocircuito |
| CLED | LED con simulación educativa: muestra verde (correcto), rojo (sobrecarga), negro (sin corriente / polaridad invertida). Usa MaterialPropertyBlock para evitar crear materiales duplicados en cada frame |
| CResistor | Resistencia con soporte de código de colores (Reto 3). Permite establecer el valor "correcto" vs el valor "defectuoso" para gamificación |
| CVoltageSource | |
| CElectricalNode | |
| CExplorerAvatar | Conecta el modelo 3D del robot (RobotKyle) al XR rig del Explorador |
| CExplorerComponentReceiver | Vive en la escena Explorador.unity. Escucha GameSession.OnComponenteRecibido y spawna el componente físico en la bandeja del Explorador para que pueda instalarlo |
| CFlippableComponent | Permite al Explorador corregir la polaridad de un LED o Capacitor en el Reto 3 |
| CGameManager | Controlador principal del juego. Gestiona los 4 retos del Serious Game VR. Usa eventos para comunicarse con UI y otros sistemas (sin acoplamiento directo) |
| CGrabbableComponent | Va en cada prefab de componente entregable (Comp_Resistor, Comp_LED, Comp_Capacitor, ArduinoPin). Gestiona el ciclo grab→soltar con física y feedback háptico |
| CHapticFeedback | Centraliza la retroalimentación háptica del Explorador: |
| CInstructionSystem | Sistema de pasos e instrucciones del reto activo. Valida automáticamente las condiciones de cada paso y avanza cuando el Explorador o el Técnico cumplen el requisito |
| CInteractableResistor | |
| CManualBookOpener | Click en el libro físico sobre la mesa para abrir el manual a pantalla completa. El manual se muestra como un Canvas Screen Space-Overlay que se activa/desactiva |
| CMouseGrabSimulator | Simula la mano VR del Explorador usando el mouse. Permite agarrar, mover y soltar componentes sin Meta Quest |
| CMultimeter | Multímetro digital VR para el Explorador |
| CMultimeterUI | HUD mínimo del Explorador — muestra SOLO la lectura del multímetro. Aparece en el casco VR (World Space Canvas pegado a Main Camera) |
| CNodeInteractable | Nodo eléctrico seleccionable por VR. El Explorador apunta con el controlador y presiona el gatillo para colocar la punta del multímetro |
| CObjectiveSystem | Gestiona los objetivos específicos de cada reto y el puntaje final. Se suscribe a eventos de GameManager para actualizar el estado automáticamente |
| CPerformanceTracker | Registra el desempeño del jugador por reto: tiempo empleado, errores cometidos, evaluación final. Se suscribe a eventos de GameManager para registrar automáticamente |
| CPlayerController | Controlador del Explorador VR (Meta Quest 3 + KAT VR) |
| CPlayerFeedbackUI | HUD de instrucciones del Explorador — muestra ACCIONES, nunca teoría |
| CPlayerInteraction | Gestiona las interacciones del Explorador VR con los componentes del circuito: |
| CSelectableComponent | Versión VR de SelectableComponent. Reemplaza OnMouseDown() con XRSimpleInteractable para funcionar con los controladores del Meta Quest |
| CSensorStatusDisplay | Muestra el estado del sensor en el panel físico de la nave. Se suscribe a OnCircuitChanged y actualiza el texto automáticamente |
| CTechnicianActions | Acciones del Técnico sobre el circuito. CORRECCIÓN CRÍTICA: ReplaceSelectedResistor ahora llama circuit.MarkDirty() para que el CircuitManager resimule y el LED cambie de color |
| CTechnicianController | Controlador del Técnico — soporta DOS modos de entrada: |
| CTechnicianHUDController | Actualiza el HUD de pantalla del Técnico suscribiéndose a eventos de GameManager. Se añade al root del prefab TechnicianHUD. Referencias externas a asignar en el Inspector: gameManager |
| CTechnicianManual | Contiene el manual técnico completo para cada reto. El Técnico lo consulta en su panel para diagnosticar y guiar al Explorador. Incluye: concepto, fórmula, objetivo, tabla de valores y pistas |
| CTechnicianManualDisplay | Manual técnico físico sobre la mesa del Técnico. Muestra las páginas del manual en un Canvas World Space sobre el objeto "libro" |
| CTechnicianWorkstation | Controlador maestro de la estación de trabajo del Técnico. Coordina: mesa física, manual, componentes, bandeja, mini HUD y panel de diagnóstico |
| CToolboxController | Caja de herramientas que el Explorador VR puede cargar con la mano. Los componentes enviados por el Técnico aparecen dentro de la caja |
| CUIButtonController | Controlador de botones del panel del Técnico. Actualiza la interactividad de cada botón según el estado del juego y conecta los eventos de clic con TechnicianActions |
| CZoneProximityScaler | Escala una zona de reto basándose en la proximidad del Explorador. El circuito arranca pequeño (factorMinimo) y crece suavemente hasta su tamaño real (factorMaximo) cuando el jugador se acerca |
| CNetworkBehaviour | |
| CComponentDeliverySystemBackup | Sistema de entrega asimétrica de componentes |
| CGameSession | Objeto de red compartido entre Técnico y Explorador |
| CObjective | |
| CTechnicianManualDisplay.Pagina | Cada página tiene contenido izquierdo y derecho |
| CResistorColorCode | Utilidad para calcular el código de colores de una resistencia |
| CSessionResult | |