Casos prácticos
Finalización externa y activación de escena
Completa desde otro complemento y activa o desactiva objetos de escena en el momento correcto del ciclo del objetivo.
Caso práctico: completar desde otro complemento
Mantén la notificación externa en un puente propio. Al confirmar la condición, el puente obtiene el Manager, exige HasActiveObjective, compara CurrentObjectiveId con el ID esperado y llama a TryCompleteObjective. Utiliza el bool para distinguir una aceptación de una señal antigua o repetida.
El puente debe vivir en un ensamblado que conozca la dependencia externa. El núcleo permanece independiente.
Caso práctico: activar objetos en el momento correcto
| Resultado | Campo |
|---|---|
| Mostrar un interactuable al empezar | Activate On Start |
| Ocultar un bloqueo antes del evento inicial | Deactivate On Start |
| Mostrar la siguiente señal tras aceptar | Activate On Completion |
| Retirar el elemento completado | Deactivate On Completion |
| Resolver un estado complejo | UnityEvent correspondiente y un único controlador |
Las acciones de inicio esperan los dos bloqueos; las de final se ejecutan después de guardar. Una fila Skipped no ejecuta ninguno.
Proteger la integración
- Elimina las suscripciones al deshabilitar.
- Rechaza señales para otro ID.
- No repitas indefinidamente tras false; investiga si llegó pronto o tarde.
- Haz idempotentes los cambios visuales.
- Restaura el contenido externo al reiniciar.
- Crea una subclase Objective cuando se reutilice en varias escenas.
Ejemplo: una interacción abre una puerta
- 1Crea la fila
Usar el terminal. - 2Muestra la señal de puerta cerrada en el inicio.
- 3Desde el éxito de la interacción, llama al puente con el ID.
- 4Activa la puerta abierta y desactiva la cerrada al completar.
- 5Prueba llamada temprana, éxito, repetición y reinicio.