Action
Resumen
Imova.Flux.Action es una clase POCO marcada con [System.Serializable]. Representa una acción concreta que el usuario puede disparar dentro de un Step (por ejemplo, escanear un QR, presionar un botón de UI, o entrar a un collider trigger). Además de sus datos, Action expone un bus de eventos y métodos estáticos que constituyen el punto de entrada principal para que cualquier script o componente de escena reporte una acción de usuario al Sistema de Flujos.
Cuándo usarla
La usan tanto el diseño de contenido (al definir qué acciones componen cada Step) como cualquier desarrollador de componentes de escena que necesite notificar al sistema que el usuario ejecutó una acción concreta, típicamente llamando a Action.TriggerAction(uid) desde el handler de un evento de Unity (OnTriggerEnter, OnClick, callback de un plugin de QR, etc.).
Propiedades
| Propiedad | Tipo | Descripción |
|---|---|---|
Name | string | Nombre descriptivo de la acción. |
Description | string | Descripción de la acción, orientada a UI. |
DescriptionLog | string | Descripción usada para el registro/log de la secuencia. |
UID | string | Identificador único de la acción. |
Métodos
static void TriggerAction(string uid)
Dispara la acción identificada por uid hacia el sistema. Es el punto de entrada principal para que cualquier script o componente de escena reporte una acción de usuario. Internamente notifica el evento estático OnTriggerAction.
static void TriggerActionAndStepUID(string stepUID, string uid)
Igual que TriggerAction, pero además indica explícitamente a qué Step (stepUID) pertenece la acción disparada. Es especialmente relevante en modo libre (FreeMode_FluxState), donde no hay un único paso activo y el sistema necesita saber a cuál de los pasos disponibles corresponde el trigger. Notifica el evento estático OnTriggerActionAndStepUID.
Eventos
| Evento | Delegate | Se dispara cuando... |
|---|---|---|
OnTriggerAction | delegate void OnTriggerActionEvent(string uid) | Se llama Action.TriggerAction(uid). |
OnTriggerActionAndStepUID | delegate void OnTriggerActionAndStepUIDEvent(string stepUID, string uid) | Se llama Action.TriggerActionAndStepUID(stepUID, uid). |
Enum: TriggerType
Step.Type usa el enum TriggerType para indicar qué clase de interacción se espera del usuario en ese paso:
| Valor | Descripción |
|---|---|
QR | Escaneo de un código QR. |
UI | Interacción con un botón o elemento de interfaz. |
Dialogo | Elección tomada dentro de un diálogo. |
EPP | Verificación de equipo de protección personal. |
Canvas | Interacción sobre un canvas 3D/de mundo. |
Trigger | Collider trigger de Unity. |
PyP | Pregunta y respuesta. |
Pregunta | Cuestionario. |
Ejemplo de código
using UnityEngine;
public class BotonDeEscena : MonoBehaviour
{
public void OnClickBoton()
{
// Reporta al Sistema de Flujos que el usuario ejecutó esta acción.
Imova.Flux.Action.TriggerAction("uid_de_la_accion");
}
}