La fila true se omite
La clave falta, difiere o la escritura falló.
Casos prácticos
Guarda una condición booleana propia y conecta un inventario o sistema de interacción mediante llamadas públicas estables.
Llama a SetProgressState("generator_unlocked", true) tras aceptar el desbloqueo y exige Success. Utiliza el mismo ID en Required True State o con GetProgressState.
Escribir false elimina la clave. Una lectura devuelve false tanto si falta como si el valor lógico es falso. Llama a FlushProgress en el punto donde el proyecto exija durabilidad.
Obtener la llave del reactor.reactor_key_obtained; no guardes el inventario en IProgressStore.| Patrón | Configuración | Resultado |
|---|---|---|
| Solo tras desbloquear | Required True State | Se omite mientras sea false |
| Solo primera visita | Required False State | Se omite después de marcarlo |
| Dos alternativas | Una exige true y la contigua false | Participa una sola |
| Indicador de UI | GetProgressState tras Ready | Muestra la lectura actual |
La clave falta, difiere o la escritura falló.
El estado no consulta el inventario; el puente debe reenviar su notificación.
Comprueba resultados de SetProgressState y Flush.
Guárdalas en inventario/partida, no en el estado booleano.
using System;
using System.Collections;
using System.Collections.Generic;
using OverFuture.ChapterObjectiveSystem.Chapters;
using OverFuture.ChapterObjectiveSystem.Events;
using OverFuture.ChapterObjectiveSystem.Objectives;
using OverFuture.ChapterObjectiveSystem.Persistence;
using OverFuture.ChapterObjectiveSystem.Progression;
using UnityEngine;
public sealed class ProgressStateWriterExample : MonoBehaviour
{
public bool UnlockGenerator()
{
ChapterManager manager = ChapterManager.Instance;
return manager != null &&
manager.SetProgressState("generator_unlocked", true) ==
ProgressOperationResult.Success;
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using OverFuture.ChapterObjectiveSystem.Chapters;
using OverFuture.ChapterObjectiveSystem.Events;
using OverFuture.ChapterObjectiveSystem.Objectives;
using OverFuture.ChapterObjectiveSystem.Persistence;
using OverFuture.ChapterObjectiveSystem.Progression;
using UnityEngine;
public sealed class ProgressStateReaderExample : MonoBehaviour
{
public bool TryReadGeneratorState(out bool isUnlocked)
{
isUnlocked = false;
ChapterManager manager = ChapterManager.Instance;
if (manager == null)
{
return false;
}
isUnlocked = manager.GetProgressState("generator_unlocked");
return true;
}
}