Componentes
ButtonObjective
Evalúa una elección explícita de la interfaz y completa el objetivo solo cuando se cumple la condición configurada como correcta.
Evaluar una elección de interfaz
ButtonObjective convierte una acción explícita de UI en una solicitud válida o en una respuesta de opción incorrecta. Úsalo en la opción correcta o en una opción incorrecta que deba mostrar una reacción sin avanzar ni fallar el capítulo.
No se conecta automáticamente a Button.onClick. Añade Evaluate() en On Click. Si un controlador de interfaz ya decide la respuesta, puede ser más claro completar desde ese código.
Campos del Inspector
| Campo | Comportamiento | Configuración |
|---|---|---|
| Objective Link | Fila exacta que puede completarse | Obligatorio para la opción correcta |
| Is Incorrect Option | No completa e invoca el evento de error | Actívalo solo en respuestas incorrectas |
| On Invalid Option | Respuesta neutra a un error | No cambia el Chapter a Failed |
| On Completed | Se ejecuta tras aceptar la respuesta válida | Opcional |
Ejecución y reinicio
Evaluate() sale si el componente ya terminó. En una opción incorrecta invoca On Invalid Option y no modifica la progresión. En una correcta llama al TryComplete() heredado. Las solicitudes anticipadas, repetidas o con otro ID son rechazadas.
No añade estado temporal aparte del indicador base, por lo que el Reset heredado es suficiente. Una opción incorrecta no se marca completada y puede seguir respondiendo hasta que la interfaz la desactive o cambie la fila.
Ejemplo: una respuesta correcta y dos incorrectas
- 1Crea la fila
Responder a la pregunta de acceso. - 2Añade ButtonObjective a los botones y enlázalos.
- 3Marca como incorrectas las dos respuestas erróneas y conecta un aviso breve.
- 4Deja sin marcar la correcta y conecta On Click a
Evaluate.
Para una interfaz con muchas respuestas suele ser preferible un único controlador que gestione los errores y llame a un solo ButtonObjective correcto.