using System; namespace Continentis.MainGame.Saving { /// /// 游戏存档的根节点,作为单一顶层对象写入 ES3 文件。 /// ES3 用法:ES3.Save("GameSave", gameSave, "save.es3") /// ES3.Load<GameSave>("GameSave", "save.es3") /// public class GameSave { /// /// 存档格式版本号。当数据结构发生破坏性变更时递增, /// SaveManager 读取时据此执行迁移逻辑。 /// public int saveVersion = 1; /// 最后一次保存的时间戳(UTC)。 public DateTime saveTime; /// /// 玩家账号级别数据(解锁内容、统计数据),跨跑局持久。 /// public PlayerSave playerData; /// /// 当前进行中的跑局快照。null 表示无进行中的跑局(主菜单状态)。 /// public RunSave currentRun; public GameSave() { playerData = new PlayerSave(); currentRun = null; } /// 判断当前是否存在未完成的跑局。 public bool HasActiveRun => currentRun != null; } }