using System.Collections; namespace AibisDream.SaveSystem { /// /// 快照提供者契约:将某一子系统的运行时状态与纯数据 DTO 互相转换。 /// /// 设计约定:DTO 不含事件、协程或 Unity 引用; 只读, /// 负责逐项写回。实现类通常很薄,实际逻辑在各 Manager 中。 /// /// public interface ISnapshotProvider { /// /// 稳定显式 id,用作 的 key。 /// 见 ,不使用 C# 类型全名。 /// string SaveId { get; } /// /// 读档还原顺序。数值越小越先执行(如 scene=10 先于 actor=40)。 /// int RestoreOrder { get; } /// 从当前运行时捕获该子系统的快照 DTO;无可存内容时可返回 null。 object Capture(); /// 将 DTO 逐项还原到运行时;可为协程以等待异步加载。 IEnumerator Restore(object dto); } }