Conceptos
Estados y progresión lineal
Interpreta los estados de capítulos y objetivos como una máquina de estados predecible, incluida la finalización, la omisión, el fallo y la restauración.
Dos máquinas de estados relacionadas
| Propietario | Estado | Significado |
|---|---|---|
| Chapter | NotStarted | No hay una secuencia en curso |
| Chapter | Active | Hay una posición actual |
| Chapter | Completed | Todas las filas son terminales |
| Chapter | Failed | Se ha aceptado un fallo explícito |
| Objective | NotStarted | Aún no se ha evaluado |
| Objective | Active | Es la única posición que acepta la finalización normal |
| Objective | Completed | Finalizó ejecutando sus acciones |
| Objective | Skipped | Se omitió por condiciones o por una llamada explícita |
| Objective | Failed | Estaba activo o esperando cuando falló el capítulo |
Las condiciones deciden participar, no cambian el orden
Cada fila conserva su posición. Required True State y Required False State determinan si participa cuando el Chapter llega a ella. Si no cumple, se marca Skipped y se continúa; no se salta a un objetivo elegido por nombre.
Los estados booleanos son hechos ligeros, por ejemplo generator_unlocked. No sustituyen los datos estructurados de un inventario, una conversación o una partida.
El rechazo protege la secuencia
- El capítulo debe estar Active.
- El ID solicitado debe coincidir exactamente con la fila actual.
- La fila debe estar Active; los demás estados rechazan la llamada.
- Una repetición tras avanzar devuelve false y no repite eventos.
- Durante una transición no se acepta un fallo nuevo.
Estas comprobaciones hacen seguras las señales que pueden repetirse desde interfaz, físicas, animaciones o complementos. El código que necesita conocer el resultado debe comprobar el valor devuelto.
Solo se restauran estados terminales
Se guardan los objetivos Completed o Skipped y los capítulos Completed. Active y Failed son temporales y no se restauran al volver a Play Mode o reiniciar una compilación. La lectura del progreso aplica el estado sin reproducir sonidos ni eventos anteriores. Si un capítulo figura completado pero conserva una fila no terminal, el sistema mantiene el dato, muestra una advertencia y reanuda desde la primera fila pendiente.
Consulta Persistencia del progreso para conocer perfiles, borrado, Flush y proveedores propios.