diff --git a/Assets/Scripts/SaveSystem/SaveSnapshot.cs b/Assets/Scripts/SaveSystem/SaveSnapshot.cs index c02ee0f69..7556c2bab 100644 --- a/Assets/Scripts/SaveSystem/SaveSnapshot.cs +++ b/Assets/Scripts/SaveSystem/SaveSnapshot.cs @@ -139,6 +139,7 @@ namespace AibisDream.SaveSystem { AtStart, AtEnd, + /// 从未 Evaluate 过 Timeline 绑定(untouched);非播放中途 Stop。 Stopped } @@ -160,6 +161,9 @@ namespace AibisDream.SaveSystem /// 若由 Addressables 加载 Timeline,记录 key;否则为空。 public string loadedAddressableKey; + + /// 是否曾通过 Play/Reset/RestoreAtEnd 等路径 Evaluate 过 Timeline。 + public bool hasEverAppliedPlayback; } /// sections["screen"]:屏幕饱和度与演出淡入淡出遮罩。 @@ -201,7 +205,18 @@ namespace AibisDream.SaveSystem public string args; } - /// sections["fixPanel"]:FixPanel 壳层 + 线缆/插头状态。 + /// TaskPanel 单条任务条目快照。 + [Serializable] + public class TaskEntrySnapshotDto + { + /// Yarn 行 id,如 line:01dade5 + public string lineId; + + /// 存档时 UI 显示的完整文本(含 前缀)。 + public string text; + } + + /// sections["fixPanel"]:FixPanel 壳层 + 线缆/插头 + TaskPanel 状态。 [Serializable] public class FixPanelSnapshotDto { @@ -214,6 +229,12 @@ namespace AibisDream.SaveSystem /// 插头插入的 BodyModule 名(data.moduleName);null/空 = 未插入。 public string pluggedModuleName; + + /// TaskPanel 是否处于展开位(show_task_panel 后)。 + public bool isTaskPanelVisible; + + /// TaskPanel 当前未完成任务列表(保持插入顺序)。 + public List tasks = new(); } /// sections["bodyModule"]:插线模块持久物理状态。 @@ -226,6 +247,12 @@ namespace AibisDream.SaveSystem public bool isUFRemoved; public bool isColorRemoved; public bool isChipRemoved; + + /// 高亮中的模块名(data.moduleName)。 + public List highlightedModules = new(); + + /// 报警中的模块名(data.moduleName)。 + public List alarmedModules = new(); } /// sections["eye"]:Eye 维修叙事阶段。