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

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

Inheritance diagram for CircuitManager:
Inheritance graph
Collaboration diagram for CircuitManager:
Collaboration graph

Public Member Functions

void AutoDetectComponents ()
void MarkDirty ()
 Marca el circuito como modificado para que se resimule en el próximo tick. Llamar cuando se cambie una resistencia, se repare una conexión, etc.
void ForceSimulate ()
 Fuerza una simulación inmediata (útil al cargar un nivel).
float GetVoltageBetween (ElectricalNode a, ElectricalNode b)
 Voltaje entre dos nodos (medición del multímetro).
bool AreAllLEDsOn ()
 ¿Todos los LEDs del circuito están encendidos?
FindCircuitComponent< T > ()
 Primer componente del tipo T encontrado en la lista.

Public Attributes

List< ElectricalComponentcomponents = new List<ElectricalComponent>()
CircuitTopology topology = CircuitTopology.Series
bool isShortCircuited = false

Properties

float totalCurrent [get]
float sourceVoltage [get]
float totalPower [get]

Events

static Action OnCircuitChanged
 Se dispara cada vez que el circuito es resimulado.

Private Member Functions

void Awake ()
void Start ()
void OnDestroy ()
void SimulateIfDirty ()
void RunSimulation ()
void SimulateSeries ()
void SimulateParallel ()
void SimulateMixed ()
VoltageSource GetFirstSource ()

Private Attributes

float _totalCurrent
float _sourceVoltage
float _totalPower
float simulationInterval = 0.05f
bool _dirty = true

Detailed Description

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.

Member Function Documentation

◆ AreAllLEDsOn()

bool CircuitManager.AreAllLEDsOn ( )

¿Todos los LEDs del circuito están encendidos?

◆ AutoDetectComponents()

void CircuitManager.AutoDetectComponents ( )

◆ Awake()

void CircuitManager.Awake ( )
private

◆ FindCircuitComponent< T >()

T CircuitManager.FindCircuitComponent< T > ( )

Primer componente del tipo T encontrado en la lista.

Type Constraints
T :ElectricalComponent 

◆ ForceSimulate()

void CircuitManager.ForceSimulate ( )

Fuerza una simulación inmediata (útil al cargar un nivel).

◆ GetFirstSource()

VoltageSource CircuitManager.GetFirstSource ( )
private

◆ GetVoltageBetween()

float CircuitManager.GetVoltageBetween ( ElectricalNode a,
ElectricalNode b )

Voltaje entre dos nodos (medición del multímetro).

◆ MarkDirty()

void CircuitManager.MarkDirty ( )

Marca el circuito como modificado para que se resimule en el próximo tick. Llamar cuando se cambie una resistencia, se repare una conexión, etc.

◆ OnDestroy()

void CircuitManager.OnDestroy ( )
private

◆ RunSimulation()

void CircuitManager.RunSimulation ( )
private

◆ SimulateIfDirty()

void CircuitManager.SimulateIfDirty ( )
private

◆ SimulateMixed()

void CircuitManager.SimulateMixed ( )
private

◆ SimulateParallel()

void CircuitManager.SimulateParallel ( )
private

◆ SimulateSeries()

void CircuitManager.SimulateSeries ( )
private

◆ Start()

void CircuitManager.Start ( )
private

Member Data Documentation

◆ _dirty

bool CircuitManager._dirty = true
private

◆ _sourceVoltage

float CircuitManager._sourceVoltage
private

◆ _totalCurrent

float CircuitManager._totalCurrent
private

◆ _totalPower

float CircuitManager._totalPower
private

◆ components

List<ElectricalComponent> CircuitManager.components = new List<ElectricalComponent>()

◆ isShortCircuited

bool CircuitManager.isShortCircuited = false

◆ simulationInterval

float CircuitManager.simulationInterval = 0.05f
private

◆ topology

CircuitTopology CircuitManager.topology = CircuitTopology.Series

Property Documentation

◆ sourceVoltage

float CircuitManager.sourceVoltage
get

◆ totalCurrent

float CircuitManager.totalCurrent
get

◆ totalPower

float CircuitManager.totalPower
get

Event Documentation

◆ OnCircuitChanged

Action CircuitManager.OnCircuitChanged
static

Se dispara cada vez que el circuito es resimulado.


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