Puntos de Extensión
El Sistema de Flujos Imova no define interfaces C# (interface) como mecanismo de extensión. En su lugar, toda extensión del sistema se realiza de una de estas dos formas:
- Subclasificando clases abstractas provistas por el núcleo, como
FluxState,FirebaseInstanceoFirebaseData. Estas clases declaran métodos y propiedades abstractos o virtuales que una subclase debe (o puede) sobrescribir para insertar comportamiento propio, sin tocar el código del núcleo. - Creando assets
ScriptableObjecta través de los menúsAssets > Create > ScriptableObjects > Flux, para agregar o ajustar datos de configuración editables desde el Inspector de Unity.
Esta página resume los puntos de extensión disponibles, cuándo conviene usar cada uno y qué clases están involucradas.
| Punto de extensión | Cuándo usarlo | Clases involucradas | Página |
|---|---|---|---|
| Nuevo modo de flujo | Necesitas un comportamiento distinto a Secuencial/Libre | FluxState, Default_FluxState, FreeMode_FluxState | Nuevo modo de flujo |
| Nuevo backend de plataforma | Necesitas otro backend/SDK de datos distinto a Firebase Mobile/Web | FirebaseInstance, FirebaseData, Session | Nuevo backend de plataforma |
| ScriptableObjects y Editor custom | Necesitas nuevos datos de configuración editables desde el Inspector | FluxAssetData, StepAssetData, PlatformAssetData | ScriptableObjects y Editor custom |
| Integración sin código | Un diseñador de nivel/UI necesita conectar contenido de escena al flujo sin escribir C# | TriggererAction, StepChecker | Integración sin código |
| Integración por código | Necesitas controlar el flujo o reaccionar a sus eventos desde tu propio código | Eventos estáticos de FluxManager/Action/FirebaseInstance | Integración por código |