La regla se cumple y no avanza
Revisa Complete Automatically, el enlace y que la fila esté Active.
Componentes
Combina ramas de acción con nombre mediante reglas All o Minimum, finalización automática opcional, temporizadores y señales que admiten reinicio.
MultiActionObjective mantiene una lista de ramas y evalúa su conjunto como una sola condición. Es apropiado cuando varios sistemas deben confirmar su estado o cuando basta un mínimo. POWER, NAVIGATION y COMMS pueden activarse desde eventos distintos.
No conviertas en ramas tareas consecutivas que necesiten su propio inicio y final. Una rama solo tiene estado activo, eventos y temporizador; no dispone del ciclo completo de una fila.
| Campo | Significado | Regla |
|---|---|---|
| Completion Mode | AllBranchesActive o MinimumBranchesActive | All exige todas; Minimum usa un número |
| Required Branch Count | Mínimo activo | Se limita entre 1 y el total |
| Complete Automatically | Solicita completar cuando se cumple | Desactívalo para emitir solo la condición |
| Identifier | Clave estable de la rama | Debe ser única para llamadas por string |
| Display Name / Description | Ayuda para el autor | No se utiliza para buscar |
| Deactivate Automatically / Delay | Desactivación programada | Utiliza tiempo escalado |
| On Activated / On Deactivated | Eventos de cambio real | No se repiten si el valor no cambia |
Con Complete Automatically, al cumplir la regla se llama a TryComplete(). El indicador de condición y On Condition Met solo se confirman si el Chapter acepta. Si la señal llegó pronto, podrá volver a evaluarse cuando el enlace sea activo.
Sin automatismo, la primera evaluación válida activa IsConditionMet e invoca el evento sin completar la fila. No volverá a emitirse hasta Reset.
Existen sobrecargas por índice e ID para activar, desactivar, alternar, programar la desactivación y reiniciar. ActivateBranchTemporarily admite otro tiempo. Las variantes Try indican si cambió el estado. FindBranchIndex devuelve -1 cuando no encuentra; los índices e ID inválidos no producen excepciones y devuelven false o no hacen nada.
Para integraciones utiliza ID estables; los índices cambian al reordenar. ActiveBranchCount, TotalBranchCount e IsCompletionConditionMet() facilitan el diagnóstico.
Activar cancela el temporizador anterior de esa rama, aplica el estado, invoca el evento solo si cambia, programa la desactivación opcional y evalúa. Los cambios aceptados y la finalización son idempotentes: repetir la misma señal no reproduce el evento ni completa dos veces. Reset detiene todos los temporizadores, limpia ramas, condición y estado base. ResetBranch invoca On Deactivated si la rama estaba activa; ResetObjective limpia el conjunto sin reproducir esos eventos.
ActivateBranch(string).Revisa Complete Automatically, el enlace y que la fila esté Active.
Puede estar pausado Time.timeScale o una llamada posterior pudo sustituir el temporizador.
Usa Identifier, no Display Name, con las mismas mayúsculas.
El valor se limita al rango válido y una lista vacía nunca cumple.