存档系统
MCE 使用基于 JSON 的存档系统,具备具名存档、原子写入、自动存档轮换、版本控制和可扩展性。存档系统会保存玩家的全部游戏状态 —— 队伍、背包、位置、徽章、任务进度和游戏变量。

那个界面上的三个开关属于这个系统:Partida guardada 选择序列化 格式,Autoguard. historia 决定剧情节点是否自动写入,而 Subir a la nube 则是在数据离开本机之前会先询问的那个。
架构
存档系统由若干组件构成:
| 组件 | 用途 |
|---|---|
SavegameManager | 统筹保存/加载操作(通过 SavegameInstaller 绑定的 ScriptableObject) |
SavableObject | 任何需要持久化数据的对象的基类(ScriptableObject):SaveToText、LoadFromText 和 ResetSave |
MCESavesSerializer | 用于所有已保存文本的 JSON 序列化器 |
GameVariables | 具名变量的存储:布尔、整数、浮点和字符串 |
GameVariableHolder | 拥有 GameVariables 存储的 SavableObject(GlobalGameData 和每个 SceneInfoAsset 都是持有者) |
GameVariableReference | 对单个变量的 Inspector 引用,由 CommandGraph 节点使用 |
Migrations/ | ISaveMigration、SaveMigrationPipeline 和 SaveFormatVersions:存档版本控制 |
保存的内容
SavegameManager.SavegameObjects 是进入每个存档的可保存对象列表。引擎自带的有:
| 对象 |
|---|