Serious Game - Electrónica VR 1.0.0
Loading...
Searching...
No Matches
InstructionSystem Class Reference

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. More...

Inheritance diagram for InstructionSystem:
Inheritance graph
Collaboration diagram for InstructionSystem:
Collaboration graph

Public Member Functions

void BuildInstructions ()
 Genera el array de instrucciones según el nivel activo. Llamar al cargar cada nivel (GameManager.OnLevelLoaded).
string GetCurrentInstruction ()
 Devuelve el texto de la instrucción del paso actual. Retorna "Procedimiento completado." si se superaron todos los pasos.
void NextStep ()
 Avanza al siguiente paso y lo registra en consola.
void ResetInstructions ()
 Reinicia todos los flags y el contador de pasos. Llamar al cargar un nuevo nivel.
bool CanRepairResistor ()
 True cuando el Técnico puede enviar la resistencia al Explorador. Requiere haber medido y seleccionado el componente correcto (paso 3+).
bool CanRepairParallel ()
 True cuando el Técnico puede autorizar la reparación del paralelo. Requiere haber completado las mediciones (paso 2+).

Public Attributes

int currentStep = 0
 Paso actual del reto (0-based). Solo lectura en runtime.
Multimeter multimeter
 Multímetro del Explorador — se consulta para validar mediciones.
GameManager gameManager
 Gestor del juego — provee el nivel activo.
TechnicianActions technicianActions
 Acciones del Técnico — se consulta para validar selecciones.
bool hasMeasuredCorrectly = false
 True cuando el Explorador realizó al menos una medición válida.
bool hasSelectedCorrectComponent = false
 True cuando el Técnico seleccionó el componente correcto.
bool hasAppliedFix = false
 True cuando se aplicó la reparación al circuito.
string[] instructions
 Array de instrucciones del reto activo. Se construye en BuildInstructions() al cargar cada nivel.

Private Member Functions

void Start ()
 Inicializa y construye las instrucciones al arrancar.
void OnEnable ()
void OnDisable ()
void OnCircuitChanged ()
void Update ()
 Valida el paso actual solo cuando el circuito cambia.
void ValidateCurrentStep ()
 Delega la validación al método correspondiente del reto activo.
void ValidateOhmLaw ()
 Valida los 4 pasos del Reto 1 — Ley de Ohm.
void ValidateParallel ()
 Valida los 3 pasos del Reto 2 — Circuito Paralelo.
void ValidateMixed ()
 Valida los 4 pasos del Reto 3 — Circuito Mixto y Polaridad.
void ValidateArduino ()
 Valida los 5 pasos del Reto 4 — Sensor-Actuador Arduino.

Private Attributes

bool _needsValidation = true

Detailed Description

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.

Flujo por reto:

  • Reto 1: medir → verificar voltaje → seleccionar resistencia → reemplazar
  • Reto 2: medir → identificar rama rota → reconectar
  • Reto 3: capacitor → LED → resistencia
  • Reto 4: localizar pin → mover cable → instalar resistencia → reconectar cable suelto

Member Function Documentation

◆ BuildInstructions()

void InstructionSystem.BuildInstructions ( )

Genera el array de instrucciones según el nivel activo. Llamar al cargar cada nivel (GameManager.OnLevelLoaded).

◆ CanRepairParallel()

bool InstructionSystem.CanRepairParallel ( )

True cuando el Técnico puede autorizar la reparación del paralelo. Requiere haber completado las mediciones (paso 2+).

◆ CanRepairResistor()

bool InstructionSystem.CanRepairResistor ( )

True cuando el Técnico puede enviar la resistencia al Explorador. Requiere haber medido y seleccionado el componente correcto (paso 3+).

◆ GetCurrentInstruction()

string InstructionSystem.GetCurrentInstruction ( )

Devuelve el texto de la instrucción del paso actual. Retorna "Procedimiento completado." si se superaron todos los pasos.

◆ NextStep()

void InstructionSystem.NextStep ( )

Avanza al siguiente paso y lo registra en consola.

◆ OnCircuitChanged()

void InstructionSystem.OnCircuitChanged ( )
private

◆ OnDisable()

void InstructionSystem.OnDisable ( )
private

◆ OnEnable()

void InstructionSystem.OnEnable ( )
private

◆ ResetInstructions()

void InstructionSystem.ResetInstructions ( )

Reinicia todos los flags y el contador de pasos. Llamar al cargar un nuevo nivel.

◆ Start()

void InstructionSystem.Start ( )
private

Inicializa y construye las instrucciones al arrancar.

◆ Update()

void InstructionSystem.Update ( )
private

Valida el paso actual solo cuando el circuito cambia.

◆ ValidateArduino()

void InstructionSystem.ValidateArduino ( )
private

Valida los 5 pasos del Reto 4 — Sensor-Actuador Arduino.

◆ ValidateCurrentStep()

void InstructionSystem.ValidateCurrentStep ( )
private

Delega la validación al método correspondiente del reto activo.

◆ ValidateMixed()

void InstructionSystem.ValidateMixed ( )
private

Valida los 4 pasos del Reto 3 — Circuito Mixto y Polaridad.

◆ ValidateOhmLaw()

void InstructionSystem.ValidateOhmLaw ( )
private

Valida los 4 pasos del Reto 1 — Ley de Ohm.

◆ ValidateParallel()

void InstructionSystem.ValidateParallel ( )
private

Valida los 3 pasos del Reto 2 — Circuito Paralelo.

Member Data Documentation

◆ _needsValidation

bool InstructionSystem._needsValidation = true
private

◆ currentStep

int InstructionSystem.currentStep = 0

Paso actual del reto (0-based). Solo lectura en runtime.

◆ gameManager

GameManager InstructionSystem.gameManager

Gestor del juego — provee el nivel activo.

◆ hasAppliedFix

bool InstructionSystem.hasAppliedFix = false

True cuando se aplicó la reparación al circuito.

◆ hasMeasuredCorrectly

bool InstructionSystem.hasMeasuredCorrectly = false

True cuando el Explorador realizó al menos una medición válida.

◆ hasSelectedCorrectComponent

bool InstructionSystem.hasSelectedCorrectComponent = false

True cuando el Técnico seleccionó el componente correcto.

◆ instructions

string [] InstructionSystem.instructions

Array de instrucciones del reto activo. Se construye en BuildInstructions() al cargar cada nivel.

◆ multimeter

Multimeter InstructionSystem.multimeter

Multímetro del Explorador — se consulta para validar mediciones.

◆ technicianActions

TechnicianActions InstructionSystem.technicianActions

Acciones del Técnico — se consulta para validar selecciones.


The documentation for this class was generated from the following file: