Saltar al contenido principal

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

PropiedadTipoDescripción
NamestringNombre descriptivo de la acción.
DescriptionstringDescripción de la acción, orientada a UI.
DescriptionLogstringDescripción usada para el registro/log de la secuencia.
UIDstringIdentificador ú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

EventoDelegateSe dispara cuando...
OnTriggerActiondelegate void OnTriggerActionEvent(string uid)Se llama Action.TriggerAction(uid).
OnTriggerActionAndStepUIDdelegate 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:

ValorDescripción
QREscaneo de un código QR.
UIInteracción con un botón o elemento de interfaz.
DialogoElección tomada dentro de un diálogo.
EPPVerificación de equipo de protección personal.
CanvasInteracción sobre un canvas 3D/de mundo.
TriggerCollider trigger de Unity.
PyPPregunta y respuesta.
PreguntaCuestionario.

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");
}
}

Ver también