Saltar al contenido principal

Integración por Código

Cuando la integración sin código (componentes de escena como TriggererAction y StepChecker) no es suficiente, puedes controlar el flujo y reaccionar a sus eventos directamente desde tu propio código C#.

Controlar el flujo

El flujo se controla llamando métodos de FluxManager, por ejemplo GetSequences, LoadSequence o StartSequence, entre otros expuestos por su API pública.

Reaccionar a eventos del sistema

El sistema expone eventos estáticos en FluxManager, Action y FirebaseInstance a los que puedes suscribirte para reaccionar a lo que ocurre en el flujo (cambios de paso, acciones gatilladas, fin de una secuencia, etc.) sin acoplarte a componentes de escena.

Un caso de uso típico es actualizar una UI de progreso propia suscribiéndote a varios eventos a la vez:

using Imova.Flux;

public class ProgresoUI : MonoBehaviour
{
private void OnEnable()
{
FluxManager.OnActivateStep += HandleActivateStep;
FluxManager.OnTriggerActionSequence += HandleTriggerAction;
FluxManager.OnFinishedSequence += HandleFinishedSequence;
}

private void OnDisable()
{
FluxManager.OnActivateStep -= HandleActivateStep;
FluxManager.OnTriggerActionSequence -= HandleTriggerAction;
FluxManager.OnFinishedSequence -= HandleFinishedSequence;
}

private void HandleActivateStep(Step step)
{
// Actualizar indicador de paso actual en la UI de progreso.
}

private void HandleTriggerAction(Step step, Action action)
{
// Marcar la acción como completada en la UI de progreso.
}

private void HandleFinishedSequence(Sequence sequence)
{
// Mostrar pantalla de resumen/fin de secuencia.
}
}

Este enfoque te permite construir cualquier lógica propia (analítica, UI de progreso, integraciones externas) sin modificar el núcleo del sistema, simplemente escuchando lo que ya publica.

Ver también