diff --git a/Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs b/Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs
new file mode 100644
index 000000000..c6a3e283d
--- /dev/null
+++ b/Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs
@@ -0,0 +1,291 @@
+#if UNITY_EDITOR
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using AibisDream.SaveSystem;
+using AibisDream.Utility;
+using Newtonsoft.Json;
+using UnityEditor;
+using UnityEngine;
+
+namespace AibisDream.EditorTools
+{
+ ///
+ /// 将本机 testsavs 归档提升到 StreamingAssets/TestSaveFiles,便于提交与跨机器复用。
+ ///
+ public sealed class DevSavePromoteWindow : EditorWindow
+ {
+ private string sectionId = "Huoshan1";
+ private string yarnProjectFilter = "FP_Huoshan1";
+ private string sceneFilter = "Scene/HuoShanFixScene";
+ private bool matchYarn = true;
+ private bool matchScene = true;
+ private bool keepLatestPerNode = true;
+ private bool clearSectionFirst;
+ private Vector2 scroll;
+ private string status = "";
+ private List preview = new();
+
+ [MenuItem("Tools/Aibis/Dev Save Promote")]
+ public static void Open()
+ {
+ var window = GetWindow("Dev Save Promote");
+ window.minSize = new Vector2(520, 420);
+ window.Show();
+ }
+
+ private void OnGUI()
+ {
+ EditorGUILayout.LabelField("Promote testsavs → StreamingAssets/TestSaveFiles", EditorStyles.boldLabel);
+ EditorGUILayout.HelpBox(
+ "从本机 TestAutoSaveArchive(testsavs)筛选存档,复制到可提交目录。\n" +
+ $"目标: {ConstRef.TestSaveFilePath}",
+ MessageType.Info);
+
+ sectionId = EditorGUILayout.TextField("Section Id", sectionId);
+ matchYarn = EditorGUILayout.Toggle("Filter by YarnProject", matchYarn);
+ using (new EditorGUI.DisabledScope(!matchYarn))
+ yarnProjectFilter = EditorGUILayout.TextField("YarnProject Id", yarnProjectFilter);
+ matchScene = EditorGUILayout.Toggle("Filter by Scene", matchScene);
+ using (new EditorGUI.DisabledScope(!matchScene))
+ sceneFilter = EditorGUILayout.TextField("Scene Name", sceneFilter);
+ keepLatestPerNode = EditorGUILayout.Toggle("Keep latest per nodeName", keepLatestPerNode);
+ clearSectionFirst = EditorGUILayout.Toggle("Clear section folder first", clearSectionFirst);
+
+ EditorGUILayout.Space(8);
+ using (new EditorGUILayout.HorizontalScope())
+ {
+ if (GUILayout.Button("Refresh Preview", GUILayout.Height(28)))
+ RefreshPreview();
+ if (GUILayout.Button("Promote Selected Filters", GUILayout.Height(28)))
+ Promote();
+ }
+
+ if (!string.IsNullOrEmpty(status))
+ EditorGUILayout.HelpBox(status, MessageType.None);
+
+ EditorGUILayout.Space(4);
+ EditorGUILayout.LabelField($"Matches: {preview.Count}", EditorStyles.miniBoldLabel);
+ scroll = EditorGUILayout.BeginScrollView(scroll);
+ foreach (var item in preview)
+ {
+ EditorGUILayout.LabelField(
+ $"{item.FolderName} | node={item.NodeName} | yarn={item.YarnProjectId} | scene={item.SceneName}");
+ }
+
+ EditorGUILayout.EndScrollView();
+ }
+
+ private void RefreshPreview()
+ {
+ preview = CollectCandidates();
+ status = $"Preview {preview.Count} entries from {ConstRef.TestAutoSaveArchivePath}";
+ }
+
+ private void Promote()
+ {
+ if (string.IsNullOrWhiteSpace(sectionId))
+ {
+ status = "Section Id 不能为空。";
+ return;
+ }
+
+ var candidates = CollectCandidates();
+ if (candidates.Count == 0)
+ {
+ status = "没有匹配的 testsavs 条目。先在 Editor 里打通流程(测试存档模式会写入 testsavs)。";
+ preview = candidates;
+ return;
+ }
+
+ var sectionDir = Path.Combine(ConstRef.TestSaveFilePath, sectionId.Trim());
+ if (clearSectionFirst && Directory.Exists(sectionDir))
+ Directory.Delete(sectionDir, recursive: true);
+
+ Directory.CreateDirectory(sectionDir);
+ EnsureCatalogSection(sectionId.Trim());
+
+ int copied = 0;
+ int index = 1;
+ foreach (var item in candidates.OrderBy(c => c.SavedAt, StringComparer.Ordinal)
+ .ThenBy(c => c.NodeName, StringComparer.Ordinal))
+ {
+ var safeNode = SanitizeFolderName(string.IsNullOrEmpty(item.NodeName) ? "no_node" : item.NodeName);
+ var folderName = $"{index:00}_{safeNode}";
+ var destDir = Path.Combine(sectionDir, folderName);
+ Directory.CreateDirectory(destDir);
+
+ CopyIfExists(item.SnapshotPath, Path.Combine(destDir, $"{ConstRef.SaveSnapshotFileName}.json"));
+ CopyIfExists(item.MetaPath, Path.Combine(destDir, $"{ConstRef.SaveMetaFileName}.json"));
+ copied++;
+ index++;
+ }
+
+ preview = candidates;
+ AssetDatabase.Refresh();
+ status = $"已复制 {copied} 份到 TestSaveFiles/{sectionId.Trim()}";
+ }
+
+ private List CollectCandidates()
+ {
+ var list = new List();
+ if (!Directory.Exists(ConstRef.TestAutoSaveArchivePath))
+ return list;
+
+ foreach (var dir in Directory.GetDirectories(ConstRef.TestAutoSaveArchivePath))
+ {
+ var snapshotPath = Path.Combine(dir, $"{ConstRef.SaveSnapshotFileName}.json");
+ if (!File.Exists(snapshotPath))
+ continue;
+
+ var metaPath = Path.Combine(dir, $"{ConstRef.SaveMetaFileName}.json");
+ SlotMeta meta = null;
+ if (File.Exists(metaPath))
+ {
+ try
+ {
+ meta = JsonConvert.DeserializeObject(File.ReadAllText(metaPath, Encoding.UTF8));
+ }
+ catch
+ {
+ // ignore broken meta
+ }
+ }
+
+ var yarn = meta?.yarnProjectId ?? string.Empty;
+ var scene = meta?.sceneName ?? string.Empty;
+ var node = meta?.nodeName ?? string.Empty;
+ var savedAt = meta?.savedAt ?? string.Empty;
+
+ bool yarnOk = !matchYarn || string.Equals(yarn, yarnProjectFilter, StringComparison.OrdinalIgnoreCase);
+ bool sceneOk = !matchScene || string.Equals(scene, sceneFilter, StringComparison.OrdinalIgnoreCase);
+ if (!yarnOk || !sceneOk)
+ continue;
+
+ list.Add(new Candidate(
+ Path.GetFileName(dir),
+ dir,
+ snapshotPath,
+ File.Exists(metaPath) ? metaPath : null,
+ node,
+ yarn,
+ scene,
+ savedAt));
+ }
+
+ if (!keepLatestPerNode)
+ return list.OrderBy(c => c.SavedAt, StringComparer.Ordinal).ToList();
+
+ return list
+ .GroupBy(c => string.IsNullOrEmpty(c.NodeName) ? c.FolderName : c.NodeName, StringComparer.Ordinal)
+ .Select(g => g.OrderByDescending(c => c.SavedAt, StringComparer.Ordinal).First())
+ .OrderBy(c => c.SavedAt, StringComparer.Ordinal)
+ .ToList();
+ }
+
+ private static void EnsureCatalogSection(string sectionId)
+ {
+ var root = ConstRef.TestSaveFilePath;
+ Directory.CreateDirectory(root);
+ var catalogPath = Path.Combine(root, "catalog.json");
+
+ CatalogDto catalog;
+ if (File.Exists(catalogPath))
+ {
+ try
+ {
+ catalog = JsonConvert.DeserializeObject(File.ReadAllText(catalogPath, Encoding.UTF8))
+ ?? new CatalogDto();
+ }
+ catch
+ {
+ catalog = new CatalogDto();
+ }
+ }
+ else
+ {
+ catalog = new CatalogDto();
+ }
+
+ catalog.sections ??= new List();
+ if (catalog.sections.All(s => !string.Equals(s.id, sectionId, StringComparison.OrdinalIgnoreCase)))
+ {
+ catalog.sections.Add(new CatalogSectionDto
+ {
+ id = sectionId,
+ title = sectionId
+ });
+ File.WriteAllText(
+ catalogPath,
+ JsonConvert.SerializeObject(catalog, Formatting.Indented),
+ new UTF8Encoding(encoderShouldEmitUTF8Identifier: false));
+ }
+ }
+
+ private static void CopyIfExists(string src, string dest)
+ {
+ if (string.IsNullOrEmpty(src) || !File.Exists(src))
+ return;
+
+ File.Copy(src, dest, overwrite: true);
+ }
+
+ private static string SanitizeFolderName(string name)
+ {
+ foreach (var c in Path.GetInvalidFileNameChars())
+ name = name.Replace(c, '_');
+ name = name.Replace(' ', '_');
+ if (name.Length > 48)
+ name = name.Substring(0, 48);
+ return string.IsNullOrWhiteSpace(name) ? "no_node" : name;
+ }
+
+ private sealed class Candidate
+ {
+ public readonly string FolderName;
+ public readonly string DirectoryPath;
+ public readonly string SnapshotPath;
+ public readonly string MetaPath;
+ public readonly string NodeName;
+ public readonly string YarnProjectId;
+ public readonly string SceneName;
+ public readonly string SavedAt;
+
+ public Candidate(
+ string folderName,
+ string directoryPath,
+ string snapshotPath,
+ string metaPath,
+ string nodeName,
+ string yarnProjectId,
+ string sceneName,
+ string savedAt)
+ {
+ FolderName = folderName;
+ DirectoryPath = directoryPath;
+ SnapshotPath = snapshotPath;
+ MetaPath = metaPath;
+ NodeName = nodeName;
+ YarnProjectId = yarnProjectId;
+ SceneName = sceneName;
+ SavedAt = savedAt;
+ }
+ }
+
+ [Serializable]
+ private class CatalogDto
+ {
+ public List sections = new();
+ }
+
+ [Serializable]
+ private class CatalogSectionDto
+ {
+ public string id;
+ public string title;
+ }
+ }
+}
+#endif
diff --git a/Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs.meta b/Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs.meta
similarity index 83%
rename from Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs.meta
rename to Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs.meta
index 6359a6c77..69bdb428a 100644
--- a/Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs.meta
+++ b/Assets/Editor/SaveSystemValidation/DevSavePromoteWindow.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6b8d5e422f3d4df1a53d34d6ca2aa8ad
+guid: b564a87c642e53646baa39708c8f72ac
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Scripts/AssetRefs/ConstRef.cs b/Assets/Scripts/AssetRefs/ConstRef.cs
index 7e1bd3b90..6d1ce2b3a 100644
--- a/Assets/Scripts/AssetRefs/ConstRef.cs
+++ b/Assets/Scripts/AssetRefs/ConstRef.cs
@@ -19,7 +19,9 @@ namespace AibisDream.Utility
public const string WishlistURL = "https://store.steampowered.com/app/3473430/_All_Our_Broken_Parts?utm_source=playtest";
- public static readonly string TestSaveFilePath = Application.streamingAssetsPath + "/TestSaveFiles";
+ /// 可提交的开发跳转存档根目录(DevSaveJumpTool)。
+ public static readonly string TestSaveFilePath =
+ Path.Combine(Application.streamingAssetsPath, "TestSaveFiles");
public static readonly string SaveFilePath = Path.Combine(Application.persistentDataPath, "AllOurBrokenParts", "saves");
diff --git a/Assets/Scripts/Utility/DevSaveJumpTool.cs b/Assets/Scripts/Utility/DevSaveJumpTool.cs
new file mode 100644
index 000000000..d1a4ebaee
--- /dev/null
+++ b/Assets/Scripts/Utility/DevSaveJumpTool.cs
@@ -0,0 +1,467 @@
+#if UNITY_EDITOR || DEVELOPMENT_BUILD
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using AibisDream.SaveSystem;
+using AibisDream.Utility;
+using Newtonsoft.Json;
+using UnityEngine;
+
+namespace AibisDream
+{
+ ///
+ /// 开发用通用跳转工具:从 (可提交)读档。
+ /// 目录约定:StreamingAssets/TestSaveFiles/{SectionId}/{EntryFolder}/snapshot.json
+ ///
+ public class DevSaveJumpTool : MonoBehaviour
+ {
+ private const float UiMargin = 16f;
+ private const float DevButtonWidth = 96f;
+ private const float DevButtonHeight = 34f;
+ private const float MenuWidth = 320f;
+ private const float MaxMenuHeight = 560f;
+ private const float RowHeight = 30f;
+ private const float HeaderHeight = 24f;
+ private const float StatusWidth = 360f;
+ private const float StatusHeight = 28f;
+ private static DevSaveJumpTool instance;
+
+ private bool isJumping;
+ private bool menuOpen;
+ private string status = "";
+ private float statusVisibleUntil;
+ private Vector2 menuScroll;
+ private GUIStyle buttonStyle;
+ private GUIStyle headerStyle;
+ private GUIStyle menuBoxStyle;
+ private GUIStyle statusStyle;
+ private List sections = new();
+ private float cachedContentHeight;
+
+ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
+ private static void Bootstrap()
+ {
+ if (instance != null)
+ return;
+
+ var existing = FindObjectOfType();
+ if (existing != null)
+ {
+ instance = existing;
+ DontDestroyOnLoad(existing.gameObject);
+ return;
+ }
+
+ var toolObject = new GameObject("[Dev] Save Jump Tool");
+ DontDestroyOnLoad(toolObject);
+ instance = toolObject.AddComponent();
+ }
+
+ private void Awake()
+ {
+ ReloadCatalog();
+ }
+
+ private void OnGUI()
+ {
+ EnsureStyles();
+
+ float buttonX = Screen.width - UiMargin - DevButtonWidth;
+ float buttonY = Screen.height - UiMargin - DevButtonHeight;
+ var devButtonRect = new Rect(buttonX, buttonY, DevButtonWidth, DevButtonHeight);
+
+ if (menuOpen)
+ DrawCommandMenu(devButtonRect);
+
+ string label = isJumping ? "Busy..." : "Dev";
+ if (GUI.Button(devButtonRect, label, buttonStyle))
+ {
+ if (!menuOpen)
+ ReloadCatalog();
+ menuOpen = !menuOpen;
+ }
+
+ if (!string.IsNullOrEmpty(status) && Time.unscaledTime < statusVisibleUntil)
+ {
+ float menuHeight = GetMenuHeight();
+ float statusY = menuOpen
+ ? buttonY - menuHeight - StatusHeight - UiMargin
+ : buttonY - StatusHeight - 8f;
+ var statusRect = new Rect(
+ Screen.width - UiMargin - StatusWidth,
+ Mathf.Max(UiMargin, statusY),
+ StatusWidth,
+ StatusHeight);
+ GUI.Label(statusRect, status, statusStyle);
+ }
+ }
+
+ private void DrawCommandMenu(Rect devButtonRect)
+ {
+ float menuHeight = GetMenuHeight();
+ float menuX = Screen.width - UiMargin - MenuWidth;
+ float menuY = Mathf.Max(UiMargin, devButtonRect.y - menuHeight - 8f);
+ var menuRect = new Rect(menuX, menuY, MenuWidth, menuHeight);
+
+ GUI.Box(menuRect, GUIContent.none, menuBoxStyle);
+
+ var viewRect = new Rect(0f, 0f, MenuWidth - 28f, GetContentHeight());
+ var scrollRect = new Rect(
+ menuRect.x + 6f,
+ menuRect.y + 6f,
+ menuRect.width - 12f,
+ menuRect.height - 12f);
+
+ menuScroll = GUI.BeginScrollView(scrollRect, menuScroll, viewRect);
+
+ float y = 0f;
+ if (sections.Count == 0)
+ {
+ GUI.Label(new Rect(0f, y, MenuWidth - 32f, RowHeight), "No TestSaveFiles found", headerStyle);
+ }
+ else
+ {
+ for (int i = 0; i < sections.Count; i++)
+ {
+ var section = sections[i];
+ DrawHeader(ref y, section.Title);
+ if (section.Entries.Count == 0)
+ {
+ GUI.Label(
+ new Rect(0f, y, MenuWidth - 32f, RowHeight),
+ "(empty — promote saves first)",
+ statusStyle);
+ y += RowHeight;
+ }
+ else
+ {
+ DrawSaveEntries(ref y, section.Entries);
+ }
+
+ if (i < sections.Count - 1)
+ y += 6f;
+ }
+ }
+
+ GUI.EndScrollView();
+ }
+
+ private void DrawHeader(ref float y, string label)
+ {
+ GUI.Label(new Rect(0f, y, MenuWidth - 32f, HeaderHeight), label, headerStyle);
+ y += HeaderHeight;
+ }
+
+ private void DrawSaveEntries(ref float y, List entries)
+ {
+ foreach (var entry in entries)
+ {
+ var rect = new Rect(0f, y, MenuWidth - 32f, RowHeight);
+ var captured = entry;
+ DrawCommandButton(rect, captured.Label, !isJumping, () => StartCoroutine(LoadDevSave(captured)));
+ y += RowHeight;
+ }
+ }
+
+ private float GetMenuHeight()
+ {
+ return Mathf.Min(MaxMenuHeight, GetContentHeight() + 12f);
+ }
+
+ private float GetContentHeight()
+ {
+ if (cachedContentHeight > 0f)
+ return cachedContentHeight;
+
+ float height = 0f;
+ if (sections.Count == 0)
+ {
+ height = RowHeight;
+ }
+ else
+ {
+ for (int i = 0; i < sections.Count; i++)
+ {
+ height += HeaderHeight;
+ int rows = Math.Max(1, sections[i].Entries.Count);
+ height += rows * RowHeight;
+ if (i < sections.Count - 1)
+ height += 6f;
+ }
+ }
+
+ cachedContentHeight = height;
+ return height;
+ }
+
+ private void DrawCommandButton(Rect rect, string label, bool enabled, Action action)
+ {
+ GUI.enabled = enabled;
+ if (GUI.Button(rect, label, buttonStyle))
+ {
+ menuOpen = false;
+ action?.Invoke();
+ }
+
+ GUI.enabled = true;
+ }
+
+ private IEnumerator LoadDevSave(DevSaveEntry entry)
+ {
+ if (isJumping)
+ yield break;
+
+ string savePath = entry.SnapshotPathWithoutExtension;
+ if (string.IsNullOrEmpty(savePath) || !File.Exists(savePath + ".json"))
+ {
+ SetStatus($"Save missing: {entry.Label}", 5f);
+ yield break;
+ }
+
+ isJumping = true;
+
+ if (NeedsResetToMainMenu())
+ {
+ SetStatus($"Resetting: {entry.Label}");
+ GameManager.Instance.QuitGame();
+ yield return WaitForMainMenuReady();
+ }
+
+ SetStatus($"Loading: {entry.Label}");
+ yield return SaveRestoreOrchestrator.RestoreFromFile(savePath);
+ SetStatus($"Loaded: {entry.Label}", 3f);
+ isJumping = false;
+ }
+
+ private static bool NeedsResetToMainMenu()
+ {
+ var gameManager = GameManager.Instance;
+ if (gameManager == null)
+ return false;
+
+ if (gameManager.state.isInGame)
+ return true;
+
+ var sceneLoader = SceneLoader.Instance;
+ return sceneLoader != null && !string.IsNullOrEmpty(sceneLoader.CurrentSceneName);
+ }
+
+ private static IEnumerator WaitForMainMenuReady()
+ {
+ const float timeoutSeconds = 15f;
+ float elapsed = 0f;
+
+ while (elapsed < timeoutSeconds)
+ {
+ var gameManager = GameManager.Instance;
+ var sceneLoader = SceneLoader.Instance;
+ bool sceneCleared = sceneLoader == null || string.IsNullOrEmpty(sceneLoader.CurrentSceneName);
+ bool notInGame = gameManager == null || !gameManager.state.isInGame;
+
+ if (sceneCleared && notInGame)
+ yield break;
+
+ elapsed += Time.unscaledDeltaTime;
+ yield return null;
+ }
+
+ Debug.LogWarning("[DevSaveJumpTool] 等待主界面超时,继续读档。");
+ }
+
+ private void ReloadCatalog()
+ {
+ sections = DevSaveCatalog.Load(ConstRef.TestSaveFilePath);
+ cachedContentHeight = 0f;
+ }
+
+ private void SetStatus(string message, float visibleSeconds = 30f)
+ {
+ status = message;
+ statusVisibleUntil = Time.unscaledTime + visibleSeconds;
+ Debug.Log($"[DevSaveJumpTool] {message}");
+ }
+
+ private void EnsureStyles()
+ {
+ if (buttonStyle != null && statusStyle != null)
+ return;
+
+ buttonStyle = new GUIStyle(GUI.skin.button)
+ {
+ fontSize = 14,
+ alignment = TextAnchor.MiddleCenter
+ };
+
+ headerStyle = new GUIStyle(GUI.skin.label)
+ {
+ fontSize = 13,
+ fontStyle = FontStyle.Bold,
+ alignment = TextAnchor.MiddleLeft,
+ padding = new RectOffset(6, 0, 3, 0)
+ };
+
+ menuBoxStyle = new GUIStyle(GUI.skin.box)
+ {
+ padding = new RectOffset(6, 6, 6, 6)
+ };
+
+ statusStyle = new GUIStyle(GUI.skin.box)
+ {
+ fontSize = 13,
+ alignment = TextAnchor.MiddleLeft,
+ padding = new RectOffset(8, 8, 4, 4)
+ };
+ }
+ }
+
+ internal static class DevSaveCatalog
+ {
+ private const string CatalogFileName = "catalog.json";
+
+ public static List Load(string root)
+ {
+ var result = new List();
+ if (string.IsNullOrEmpty(root) || !Directory.Exists(root))
+ return result;
+
+ var catalogPath = Path.Combine(root, CatalogFileName);
+ if (File.Exists(catalogPath))
+ {
+ try
+ {
+ var catalog = JsonConvert.DeserializeObject(File.ReadAllText(catalogPath));
+ if (catalog?.sections != null)
+ {
+ foreach (var sectionDto in catalog.sections)
+ {
+ if (string.IsNullOrWhiteSpace(sectionDto.id))
+ continue;
+
+ var sectionDir = Path.Combine(root, sectionDto.id);
+ var title = string.IsNullOrWhiteSpace(sectionDto.title) ? sectionDto.id : sectionDto.title;
+ result.Add(BuildSection(sectionDto.id, title, sectionDir, sectionDto.entries));
+ }
+
+ return result;
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.LogWarning($"[DevSaveJumpTool] 读取 catalog.json 失败: {ex.Message}");
+ }
+ }
+
+ foreach (var dir in Directory.GetDirectories(root).OrderBy(d => d, StringComparer.OrdinalIgnoreCase))
+ {
+ var id = Path.GetFileName(dir);
+ result.Add(BuildSection(id, id, dir, null));
+ }
+
+ return result;
+ }
+
+ private static DevSaveSection BuildSection(
+ string id,
+ string title,
+ string sectionDir,
+ List explicitEntries)
+ {
+ var entries = new List();
+ var root = Directory.GetParent(sectionDir)?.FullName;
+
+ if (explicitEntries != null && explicitEntries.Count > 0 && root != null)
+ {
+ foreach (var entryDto in explicitEntries)
+ {
+ if (string.IsNullOrWhiteSpace(entryDto.path))
+ continue;
+
+ var relative = entryDto.path.Replace('/', Path.DirectorySeparatorChar);
+ var entryDir = Path.IsPathRooted(relative)
+ ? relative
+ : Path.Combine(root, relative);
+ var snapshot = Path.Combine(entryDir, ConstRef.SaveSnapshotFileName);
+ if (!File.Exists(snapshot + ".json"))
+ continue;
+
+ var label = string.IsNullOrWhiteSpace(entryDto.label)
+ ? FormatFolderLabel(Path.GetFileName(entryDir))
+ : entryDto.label;
+ entries.Add(new DevSaveEntry(label, snapshot));
+ }
+ }
+ else if (Directory.Exists(sectionDir))
+ {
+ foreach (var entryDir in Directory.GetDirectories(sectionDir)
+ .OrderBy(d => d, StringComparer.OrdinalIgnoreCase))
+ {
+ var snapshot = Path.Combine(entryDir, ConstRef.SaveSnapshotFileName);
+ if (!File.Exists(snapshot + ".json"))
+ continue;
+
+ entries.Add(new DevSaveEntry(FormatFolderLabel(Path.GetFileName(entryDir)), snapshot));
+ }
+ }
+
+ return new DevSaveSection(id, title, entries);
+ }
+
+ private static string FormatFolderLabel(string folderName)
+ {
+ if (string.IsNullOrEmpty(folderName))
+ return folderName;
+
+ return folderName.Replace('_', ' ');
+ }
+
+ [Serializable]
+ private class CatalogDto
+ {
+ public List sections;
+ }
+
+ [Serializable]
+ private class CatalogSectionDto
+ {
+ public string id;
+ public string title;
+ public List entries;
+ }
+
+ [Serializable]
+ private class CatalogEntryDto
+ {
+ public string label;
+ public string path;
+ }
+ }
+
+ internal sealed class DevSaveSection
+ {
+ public readonly string Id;
+ public readonly string Title;
+ public readonly List Entries;
+
+ public DevSaveSection(string id, string title, List entries)
+ {
+ Id = id;
+ Title = title;
+ Entries = entries ?? new List();
+ }
+ }
+
+ internal readonly struct DevSaveEntry
+ {
+ public readonly string Label;
+ public readonly string SnapshotPathWithoutExtension;
+
+ public DevSaveEntry(string label, string snapshotPathWithoutExtension)
+ {
+ Label = label;
+ SnapshotPathWithoutExtension = snapshotPathWithoutExtension;
+ }
+ }
+}
+#endif
diff --git a/Assets/Scripts/Utility/DevSaveJumpTool.cs.meta b/Assets/Scripts/Utility/DevSaveJumpTool.cs.meta
new file mode 100644
index 000000000..af1ecd1fc
--- /dev/null
+++ b/Assets/Scripts/Utility/DevSaveJumpTool.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bb148bf10c3ed12439c0cc4d8ef20b99
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs b/Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs
deleted file mode 100644
index 4006c9357..000000000
--- a/Assets/Scripts/Utility/PeipeiMemoryJumpTool.cs
+++ /dev/null
@@ -1,328 +0,0 @@
-#if UNITY_EDITOR || DEVELOPMENT_BUILD
-using System.Collections;
-using System.IO;
-using AibisDream.SaveSystem;
-using UnityEngine;
-
-namespace AibisDream
-{
- public class PeipeiMemoryJumpTool : MonoBehaviour
- {
- private const float UiMargin = 16f;
- private const float DevButtonWidth = 96f;
- private const float DevButtonHeight = 34f;
- private const float MenuWidth = 300f;
- private const float MaxMenuHeight = 560f;
- private const float RowHeight = 30f;
- private const float HeaderHeight = 24f;
- private const float StatusWidth = 360f;
- private const float StatusHeight = 28f;
- private const string SaveRootFolder = "AllOurBrokenParts";
- private const string TestSaveFolder = "testsavs";
- private const string SnapshotFileName = "snapshot";
-
- private static readonly DevSaveEntry[] Peipei1Saves =
- {
- new("PP1 01 Intro", "20260629_191732_683_"),
- new("PP1 02 Enter Room", "20260629_191737_198_"),
- new("PP1 03 Body UF", "20260629_191745_604_"),
- new("PP1 04 UF Deep", "20260629_191747_751_"),
- new("PP1 05 Body Vision", "20260629_191751_564_"),
- new("PP1 06 Memory Start", "20260629_191806_710_"),
- new("PP1 07 Memory Check", "20260629_191807_884_"),
- new("PP1 08 Analysis", "20260629_191947_383_"),
- new("PP1 09 Pre Talk", "20260629_191953_429_"),
- new("PP1 10 Surgery", "20260629_191957_937_"),
- new("PP1 11 CutLine", "20260629_192000_426_"),
- new("PP1 12 Recheck", "20260629_192000_744_"),
- new("PP1 13 Recheck Vision", "20260629_192002_368_"),
- new("PP1 14 Ending Talk", "20260629_192010_965_")
- };
-
- private static readonly DevSaveEntry[] Peipei2Saves =
- {
- new("PP2 01 Start", "20260630_142906_700_"),
- new("PP2 02 Intro", "20260630_142906_849_"),
- new("PP2 03 First Heat", "20260630_142915_334_"),
- new("PP2 04 Heat System", "20260630_142918_072_"),
- new("PP2 05 Body Check", "20260630_142921_707_"),
- new("PP2 06 UF Locked", "20260630_142923_878_"),
- new("PP2 07 UF Shell", "20260630_142928_045_"),
- new("PP2 08 UF Check", "20260630_142931_587_"),
- new("PP2 09 Eye View", "20260630_142938_533_"),
- new("PP2 10 Analysis", "20260630_142956_453_"),
- new("PP2 11 Pre Talk", "20260630_143007_149_"),
- new("PP2 12 Stop Image", "20260630_143014_716_"),
- new("PP2 13 Stop Check", "20260630_143020_779_"),
- new("PP2 14 Cool Fail Talk", "20260630_143042_615_"),
- new("PP2 15 Remove UF", "20260630_143043_024_"),
- new("PP2 16 Pre Talk 2", "20260630_143044_410_"),
- new("PP2 17 Surgery", "20260630_143058_329_"),
- new("PP2 18 Memory Plugin", "20260630_143100_380_"),
- new("PP2 19 Ending Talk", "20260630_143118_278_")
- };
-
- private static PeipeiMemoryJumpTool instance;
-
- private bool isJumping;
- private bool menuOpen;
- private string status = "";
- private float statusVisibleUntil;
- private Vector2 menuScroll;
- private GUIStyle buttonStyle;
- private GUIStyle headerStyle;
- private GUIStyle menuBoxStyle;
- private GUIStyle statusStyle;
-
- [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
- private static void Bootstrap()
- {
- if (instance != null)
- return;
-
- var existing = FindObjectOfType();
- if (existing != null)
- {
- instance = existing;
- DontDestroyOnLoad(existing.gameObject);
- return;
- }
-
- var toolObject = new GameObject("[Dev] Peipei Jump Tool");
- DontDestroyOnLoad(toolObject);
- instance = toolObject.AddComponent();
- }
-
- private void OnGUI()
- {
- EnsureStyles();
-
- float buttonX = Screen.width - UiMargin - DevButtonWidth;
- float buttonY = Screen.height - UiMargin - DevButtonHeight;
- var devButtonRect = new Rect(buttonX, buttonY, DevButtonWidth, DevButtonHeight);
-
- if (menuOpen)
- DrawCommandMenu(devButtonRect);
-
- string label = isJumping ? "Busy..." : "Dev";
- if (GUI.Button(devButtonRect, label, buttonStyle))
- menuOpen = !menuOpen;
-
- if (!string.IsNullOrEmpty(status) && Time.unscaledTime < statusVisibleUntil)
- {
- float menuHeight = GetMenuHeight();
- float statusY = menuOpen
- ? buttonY - menuHeight - StatusHeight - UiMargin
- : buttonY - StatusHeight - 8f;
- var statusRect = new Rect(
- Screen.width - UiMargin - StatusWidth,
- Mathf.Max(UiMargin, statusY),
- StatusWidth,
- StatusHeight);
- GUI.Label(statusRect, status, statusStyle);
- }
- }
-
- private void DrawCommandMenu(Rect devButtonRect)
- {
- float menuHeight = GetMenuHeight();
- float menuX = Screen.width - UiMargin - MenuWidth;
- float menuY = Mathf.Max(UiMargin, devButtonRect.y - menuHeight - 8f);
- var menuRect = new Rect(menuX, menuY, MenuWidth, menuHeight);
-
- GUI.Box(menuRect, GUIContent.none, menuBoxStyle);
-
- var viewRect = new Rect(0f, 0f, MenuWidth - 28f, GetContentHeight());
- var scrollRect = new Rect(
- menuRect.x + 6f,
- menuRect.y + 6f,
- menuRect.width - 12f,
- menuRect.height - 12f);
-
- menuScroll = GUI.BeginScrollView(scrollRect, menuScroll, viewRect);
-
- float y = 0f;
- DrawHeader(ref y, "Peipei 1");
- DrawSaveEntries(ref y, Peipei1Saves);
- y += 6f;
- DrawHeader(ref y, "Peipei 2");
- DrawSaveEntries(ref y, Peipei2Saves);
-
- GUI.EndScrollView();
- }
-
- private void DrawHeader(ref float y, string label)
- {
- GUI.Label(new Rect(0f, y, MenuWidth - 32f, HeaderHeight), label, headerStyle);
- y += HeaderHeight;
- }
-
- private void DrawSaveEntries(ref float y, DevSaveEntry[] entries)
- {
- foreach (var entry in entries)
- {
- var rect = new Rect(0f, y, MenuWidth - 32f, RowHeight);
- DrawCommandButton(rect, entry.Label, !isJumping, () => StartCoroutine(LoadDevSave(entry)));
- y += RowHeight;
- }
- }
-
- private static float GetMenuHeight()
- {
- return Mathf.Min(MaxMenuHeight, GetContentHeight() + 12f);
- }
-
- private static float GetContentHeight()
- {
- return HeaderHeight * 2f
- + RowHeight * (Peipei1Saves.Length + Peipei2Saves.Length)
- + 6f;
- }
-
- private void DrawCommandButton(Rect rect, string label, bool enabled, System.Action action)
- {
- GUI.enabled = enabled;
- if (GUI.Button(rect, label, buttonStyle))
- {
- menuOpen = false;
- action?.Invoke();
- }
-
- GUI.enabled = true;
- }
-
- private IEnumerator LoadDevSave(DevSaveEntry entry)
- {
- if (isJumping)
- yield break;
-
- string savePath = ResolveSnapshotPath(entry);
- if (string.IsNullOrEmpty(savePath))
- {
- SetStatus($"Save missing: {entry.Label}", 5f);
- yield break;
- }
-
- isJumping = true;
-
- if (NeedsResetToMainMenu())
- {
- SetStatus($"Resetting: {entry.Label}");
- GameManager.Instance.QuitGame();
- yield return WaitForMainMenuReady();
- }
-
- SetStatus($"Loading: {entry.Label}");
- yield return SaveRestoreOrchestrator.RestoreFromFile(savePath);
- SetStatus($"Loaded: {entry.Label}", 3f);
- isJumping = false;
- }
-
- private static bool NeedsResetToMainMenu()
- {
- var gameManager = GameManager.Instance;
- if (gameManager == null)
- {
- return false;
- }
-
- if (gameManager.state.isInGame)
- {
- return true;
- }
-
- var sceneLoader = SceneLoader.Instance;
- return sceneLoader != null && !string.IsNullOrEmpty(sceneLoader.CurrentSceneName);
- }
-
- private static IEnumerator WaitForMainMenuReady()
- {
- const float timeoutSeconds = 15f;
- float elapsed = 0f;
-
- while (elapsed < timeoutSeconds)
- {
- var gameManager = GameManager.Instance;
- var sceneLoader = SceneLoader.Instance;
- bool sceneCleared = sceneLoader == null || string.IsNullOrEmpty(sceneLoader.CurrentSceneName);
- bool notInGame = gameManager == null || !gameManager.state.isInGame;
-
- if (sceneCleared && notInGame)
- {
- yield break;
- }
-
- elapsed += Time.unscaledDeltaTime;
- yield return null;
- }
-
- Debug.LogWarning("[PeipeiMemoryJumpTool] 等待主界面超时,继续读档。");
- }
-
- private static string ResolveSnapshotPath(DevSaveEntry entry)
- {
- string archiveRoot = Path.Combine(Application.persistentDataPath, SaveRootFolder, TestSaveFolder);
- if (!Directory.Exists(archiveRoot))
- return null;
-
- var matches = Directory.GetDirectories(archiveRoot, entry.DirectoryPrefix + "*");
- if (matches.Length == 0)
- return null;
-
- string path = Path.Combine(matches[0], SnapshotFileName);
- return File.Exists(path + ".json") ? path : null;
- }
-
- private void SetStatus(string message, float visibleSeconds = 30f)
- {
- status = message;
- statusVisibleUntil = Time.unscaledTime + visibleSeconds;
- Debug.Log($"[PeipeiMemoryJumpTool] {message}");
- }
-
- private void EnsureStyles()
- {
- if (buttonStyle != null && statusStyle != null)
- return;
-
- buttonStyle = new GUIStyle(GUI.skin.button)
- {
- fontSize = 14,
- alignment = TextAnchor.MiddleCenter
- };
-
- headerStyle = new GUIStyle(GUI.skin.label)
- {
- fontSize = 13,
- fontStyle = FontStyle.Bold,
- alignment = TextAnchor.MiddleLeft,
- padding = new RectOffset(6, 0, 3, 0)
- };
-
- menuBoxStyle = new GUIStyle(GUI.skin.box)
- {
- padding = new RectOffset(6, 6, 6, 6)
- };
-
- statusStyle = new GUIStyle(GUI.skin.box)
- {
- fontSize = 13,
- alignment = TextAnchor.MiddleLeft,
- padding = new RectOffset(8, 8, 4, 4)
- };
- }
-
- private readonly struct DevSaveEntry
- {
- public readonly string Label;
- public readonly string DirectoryPrefix;
-
- public DevSaveEntry(string label, string directoryPrefix)
- {
- Label = label;
- DirectoryPrefix = directoryPrefix;
- }
- }
- }
-}
-#endif
diff --git a/Assets/StreamingAssets/TestSaveFiles.meta b/Assets/StreamingAssets/TestSaveFiles.meta
new file mode 100644
index 000000000..2ddb3be13
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d4c04a3fa9effb841aae2e1d46190abb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1.meta
new file mode 100644
index 000000000..f0d0c3d0e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 310ea530175ce224a842ffbba846d9eb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话.meta
new file mode 100644
index 000000000..ccfb3ad3c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7cea00cc6cb3f864fb5a6b49d2da3ff0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json
new file mode 100644
index 000000000..be97131da
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:50:49",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "开头对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json.meta
new file mode 100644
index 000000000..6b69402cf
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 915f4568d4f0cf645a8eb6040ced4016
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json
new file mode 100644
index 000000000..075096489
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:50:49","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"开头对话"},"yarnVariables":{"floats":{},"strings":{},"bools":{}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":true,"isTaskPanelVisible":false,"tasks":[]},"bodyModule":{"moduleState":"Body","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json.meta
new file mode 100644
index 000000000..aa9426f1e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/01_开头对话/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 24b8925a44bfef34ebe7dcdf7f12e49d
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2.meta
new file mode 100644
index 000000000..420ffda2a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b61d79fe2dda11d45a0dc159f8072a17
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json
new file mode 100644
index 000000000..b12f8a524
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:50:56",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage2",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json.meta
new file mode 100644
index 000000000..f8b5dafe8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b0d9b3ebf9bb5424db53e810149ed3a6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json
new file mode 100644
index 000000000..cd802350b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:50:56","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage2"},"yarnVariables":{"floats":{"$gameStage":2.0},"strings":{},"bools":{}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":4.027531,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtEnd","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":true,"isTaskPanelVisible":false,"tasks":[]},"bodyModule":{"moduleState":"Body","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json.meta
new file mode 100644
index 000000000..df70ca9b6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/02_Stage2/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: efc4faca09377c740a3bd07369047ce1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn.meta
new file mode 100644
index 000000000..a42edaea1
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4eb42136a886f2e4981f8fe194f41666
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json
new file mode 100644
index 000000000..566031e55
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:10",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "EmoPlugIn",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json.meta
new file mode 100644
index 000000000..432e2d4ee
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: eb13beb1dd1e8a34db80e4a410905963
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json
new file mode 100644
index 000000000..52abe7ba7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:10","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"EmoPlugIn"},"yarnVariables":{"floats":{"$gameStage":2.0,"$TaskToDo":2.0,"$PlugCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":121.383659,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Emo","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Emo"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json.meta
new file mode 100644
index 000000000..ccd44d583
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/03_EmoPlugIn/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ce2a839c6bbbeec46bbcf8ec2b0c4c8f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪.meta
new file mode 100644
index 000000000..3ccea2939
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 651ea75bbd2181d40b89c8e740488b16
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json
new file mode 100644
index 000000000..61531013f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:10",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "检查情绪",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json.meta
new file mode 100644
index 000000000..a613c2582
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e0d21eba61777664da6edc3faa2837c7
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json
new file mode 100644
index 000000000..b426a8242
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:10","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"检查情绪"},"yarnVariables":{"floats":{"$gameStage":2.0,"$TaskToDo":2.0,"$PlugCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":121.383659,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Emo","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Emo"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json.meta
new file mode 100644
index 000000000..c95817761
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/04_检查情绪/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: df18a2f83debc5f4b886fedd0c4d209f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3.meta
new file mode 100644
index 000000000..a51e594b2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3def1c03545b3d44cb9d9c5e28313414
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json
new file mode 100644
index 000000000..63529880b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:14",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage3",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json.meta
new file mode 100644
index 000000000..14a7bf165
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cd970b0b7fe1e2946b4264d1305630a5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json
new file mode 100644
index 000000000..b136f4728
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:14","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage3"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":150.60376,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Emo","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json.meta
new file mode 100644
index 000000000..b5fc93251
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/05_Stage3/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d0828ab9640e70b46ac24c7702028a9f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2.meta
new file mode 100644
index 000000000..b0a1b636b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: aa272d15116ce624687deb2d60e16d16
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json
new file mode 100644
index 000000000..d7687e2c3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:14",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束Stage2",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json.meta
new file mode 100644
index 000000000..6487b75bc
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e732a96520018514993a4ad77101f74c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json
new file mode 100644
index 000000000..5f3f18dbc
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:14","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束Stage2"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":150.60376,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Emo","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json.meta
new file mode 100644
index 000000000..4309f53c7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/06_结束Stage2/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3b7121286252cf24aac2f5486b1e0e8c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn.meta
new file mode 100644
index 000000000..885ab1e3f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 27b74cf2e0061824f89c22176ed655b2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json
new file mode 100644
index 000000000..2f5b5afc6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:16",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "SalePlugIn",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json.meta
new file mode 100644
index 000000000..029c019cc
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: aabb958bdc4ae9a4bb0b57640eb8873f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json
new file mode 100644
index 000000000..652485f53
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:16","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"SalePlugIn"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":169.545639,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Sale","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Sale"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json.meta
new file mode 100644
index 000000000..6a03a044a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/07_SalePlugIn/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bee98c8ff63decf42baf3892c0b92bbf
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块.meta
new file mode 100644
index 000000000..f5ca55749
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 637d863631e56f84d893861bf11dedae
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json
new file mode 100644
index 000000000..1d5aca41c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:16",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "检查销售模块",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json.meta
new file mode 100644
index 000000000..d4a217413
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d4f1faf2f66287d45a16442723f24cfc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json
new file mode 100644
index 000000000..e98bb3a19
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:16","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"检查销售模块"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":169.545639,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Sale","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Sale"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json.meta
new file mode 100644
index 000000000..627650637
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/08_检查销售模块/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 992d2f64260418e449e60da010973edd
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式.meta
new file mode 100644
index 000000000..73948d779
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 029259c952e22a641984aed628c22a47
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json
new file mode 100644
index 000000000..e78073bd2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:19",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "步进查看模式",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json.meta
new file mode 100644
index 000000000..4175dd458
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 159e7dadd3ad92347b2bbf66dbd982e4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json
new file mode 100644
index 000000000..5df8b4bd6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:19","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"步进查看模式"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":189.467789,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Sale"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json.meta
new file mode 100644
index 000000000..e3dce0c24
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/09_步进查看模式/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 36c4b354e843aca46a1126b9d9d2d3be
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入.meta
new file mode 100644
index 000000000..9163cb2e3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6f02bb779d546914f8e17860ff2dc5fa
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json
new file mode 100644
index 000000000..e4a628c92
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:21",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "步进_情绪输入",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json.meta
new file mode 100644
index 000000000..d9dfa245a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9cfb5d617a80be94db13d7f2ec254607
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json
new file mode 100644
index 000000000..02c0e1b04
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:21","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"步进_情绪输入"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":208.18924,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json.meta
new file mode 100644
index 000000000..82c24be0e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/10_步进_情绪输入/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fbabc7b740fdd254cb1147413ad3b8bc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成.meta
new file mode 100644
index 000000000..b833ce099
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9dbcc9babf1db7840a582fce36d45cda
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json
new file mode 100644
index 000000000..00283fb8f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:24",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "销售转动_语义合成",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json.meta
new file mode 100644
index 000000000..bfe9ee90e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 453695cc90218b844927ea9735cd3e57
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json
new file mode 100644
index 000000000..b8efcbb36
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:24","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"销售转动_语义合成"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":1.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":230.664429,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json.meta
new file mode 100644
index 000000000..0db701797
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/11_销售转动_语义合成/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e32e7f7d84feb7d4bbd38f267aeab0d3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查.meta
new file mode 100644
index 000000000..ccf096318
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e7b6e1f7b5f5f2a4888bfecb4cc71335
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json
new file mode 100644
index 000000000..dbd55334e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:27",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "销售转动_语言审查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json.meta
new file mode 100644
index 000000000..c603f4618
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a3d6fa9facdf1d04599e42f2268332d8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json
new file mode 100644
index 000000000..c01e09a32
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:27","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"销售转动_语言审查"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":252.615524,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json.meta
new file mode 100644
index 000000000..5cf4664a9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/12_销售转动_语言审查/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1caab5c45bd30c4478942173e79dd3e6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成.meta
new file mode 100644
index 000000000..d9b04bbbe
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1561f08d4572bb4448cf9ec62ba36be1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json
new file mode 100644
index 000000000..1e72c6452
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:29",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "销售模块转动完成",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json.meta
new file mode 100644
index 000000000..b593dd35f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 063d441ef4ab05341b7b108445179264
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json
new file mode 100644
index 000000000..e70dc5ca0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:29","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"销售模块转动完成"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":271.383148,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json.meta
new file mode 100644
index 000000000..2527d3286
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/13_销售模块转动完成/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bc4d2277186048442923cbc0575e2ba8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始.meta
new file mode 100644
index 000000000..ad0a03a0c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a7147598b80388a4ab8b20860232872a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json
new file mode 100644
index 000000000..022681c06
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:29",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "销售转动_开始",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json.meta
new file mode 100644
index 000000000..56ae58e9d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 600c8e80c31b34f4e81c12f4a18fecfd
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json
new file mode 100644
index 000000000..c8805e790
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:29","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"销售转动_开始"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":267.265839,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json.meta
new file mode 100644
index 000000000..acf3cb672
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/14_销售转动_开始/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6b5794a7796037c49a167592ed25fc23
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测.meta
new file mode 100644
index 000000000..4722d35ff
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b9c59779e06a5f44989281d1500eee47
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json
new file mode 100644
index 000000000..67f4342ba
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:29",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "销售转动_异常检测",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json.meta
new file mode 100644
index 000000000..5e6e2c76e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e1e158edf022c4e4697e73baf51cf6c4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json
new file mode 100644
index 000000000..eacebd9fe
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:29","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"销售转动_异常检测"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":271.383148,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json.meta
new file mode 100644
index 000000000..77d7e3e68
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/15_销售转动_异常检测/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 97cf9a2ba61f4d347bf80d1918851434
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块.meta
new file mode 100644
index 000000000..2d5ef781f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2b60dc4f5cc5ef8458301d82f6dfde96
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json
new file mode 100644
index 000000000..74eecff0e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:30",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "查看子模块",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json.meta
new file mode 100644
index 000000000..4016f9361
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 823d319a41a46bc4088e31d934617281
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json
new file mode 100644
index 000000000..aa88d5ab3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:30","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"查看子模块"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":277.606049,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json.meta
new file mode 100644
index 000000000..575885a96
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/16_查看子模块/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 627ed54c392bb5741b89e25b6b685f7c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程.meta
new file mode 100644
index 000000000..ed6f9a8f7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e8662b6fa24217c4c8bdc29c2569f46f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json
new file mode 100644
index 000000000..c418625c0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:30",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "查询异常进程",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json.meta
new file mode 100644
index 000000000..c8bfeb445
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: beeffe981d21f8249a7f3bf3bb2718f5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json
new file mode 100644
index 000000000..e41ce99a2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:30","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"查询异常进程"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":281.7283,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json.meta
new file mode 100644
index 000000000..e0a912096
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/17_查询异常进程/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0571446e0ef555447add12861f548997
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败.meta
new file mode 100644
index 000000000..0761577dd
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bb301e94c7773b94e98e6879cc04024e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json
new file mode 100644
index 000000000..16b4c9739
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:44",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "处理器单次调节失败",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json.meta
new file mode 100644
index 000000000..5a558e06c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c049b4e678480614cb0c018f66120de1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json
new file mode 100644
index 000000000..e47ea1bd6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:44","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"处理器单次调节失败"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":388.123322,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json.meta
new file mode 100644
index 000000000..5024bf6a0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/18_处理器单次调节失败/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cb60678d3606f8749b80581582083280
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节.meta
new file mode 100644
index 000000000..4048e4f7a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 186e9229afa83a34e94ed524aa29c35b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json
new file mode 100644
index 000000000..e02994908
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:44",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "旋钮调节",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json.meta
new file mode 100644
index 000000000..2b2d1025c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d477d9415f7eccb4d8b7c8842fab3139
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json
new file mode 100644
index 000000000..add08d207
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:44","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"旋钮调节"},"yarnVariables":{"floats":{"$gameStage":3.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":388.123322,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:018dc78","text":"● 检查销售语言拓展模块处理链路"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":[],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json.meta
new file mode 100644
index 000000000..55ad73d83
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/19_旋钮调节/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1b34f867e1707fa43a0dd9a7671745ca
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4.meta
new file mode 100644
index 000000000..2e72a2bcf
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b2c8e784257cf1d4ca3b14096e59db8b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json
new file mode 100644
index 000000000..ba04c5b66
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:47",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage4",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json.meta
new file mode 100644
index 000000000..b63c22da1
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 434fc9d66da1d124da69eefb9992e5c9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json
new file mode 100644
index 000000000..d2f5fc6b0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:47","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage4"},"yarnVariables":{"floats":{"$gameStage":4.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":418.655945,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json.meta
new file mode 100644
index 000000000..141d94a7d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/20_Stage4/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7ec76aa789b0b2347ad7e0537d1d6375
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3.meta
new file mode 100644
index 000000000..2538e241f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7888f7ca12822df4ea8e36506f290350
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json
new file mode 100644
index 000000000..7324f0045
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:47",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束Stage3",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json.meta
new file mode 100644
index 000000000..6a3b0ce67
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3689cae1302f01841b63fef001223a2c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json
new file mode 100644
index 000000000..090063e7a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:47","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束Stage3"},"yarnVariables":{"floats":{"$gameStage":4.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":418.655945,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"摘走盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Sales","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json.meta
new file mode 100644
index 000000000..409cff57b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/21_结束Stage3/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 160bd46568f58104e82e341ec489d11c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5.meta
new file mode 100644
index 000000000..5506998c1
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4d6962e2e6af99142bc3aa011a75076d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json
new file mode 100644
index 000000000..1e2179fa7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:54",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage5",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json.meta
new file mode 100644
index 000000000..f3225b88c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9a7dd23d049bf8144aea1dac13ed529c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json
new file mode 100644
index 000000000..c67ded32a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:54","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage5"},"yarnVariables":{"floats":{"$gameStage":5.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":468.632965,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Speak","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json.meta
new file mode 100644
index 000000000..ada3a9a98
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/22_Stage5/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 41524dab358bda44dbbaf6706313f7c5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4.meta
new file mode 100644
index 000000000..c1d8d9917
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ff893ab8570fb0844b1f2b9c21323f96
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json
new file mode 100644
index 000000000..94363fbe9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:54",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束Stage4",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json.meta
new file mode 100644
index 000000000..6eb5f1950
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4e12f514b545a424198625be23b90ffa
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json
new file mode 100644
index 000000000..f320556ab
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:54","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束Stage4"},"yarnVariables":{"floats":{"$gameStage":5.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":468.632965,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Speak","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json.meta
new file mode 100644
index 000000000..544cc6811
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/23_结束Stage4/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: deacc53e1f795fd4097b6f1e0819f35c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6.meta
new file mode 100644
index 000000000..f6746f841
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9c2f47f0c3c79784f8ebf1b0af532c57
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json
new file mode 100644
index 000000000..3ee36d88c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:56",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage6",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json.meta
new file mode 100644
index 000000000..8e33378ed
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c8c3670c3cafb4540830a707ea11eec2
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json
new file mode 100644
index 000000000..f7ec54cb6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:56","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage6"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":486.838348,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json.meta
new file mode 100644
index 000000000..103810882
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/24_Stage6/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6431ffc5c0a203e48b58080b08cb45c3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5.meta
new file mode 100644
index 000000000..512c4b7d5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e042609f35f12df45992df5d121fcd0c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json
new file mode 100644
index 000000000..89806eee2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:56",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束Stage5",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json.meta
new file mode 100644
index 000000000..5b0c38472
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3f5fe5148a2463049b7730e2d14618c3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json
new file mode 100644
index 000000000..7215bf363
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:56","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束Stage5"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":486.838348,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json.meta
new file mode 100644
index 000000000..5aa66c882
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/25_结束Stage5/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 10c38d3ed305a704e80c18b41f6f22c9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn.meta
new file mode 100644
index 000000000..33b389bd7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ce3d2cff149262d43b4732037c2e4916
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json
new file mode 100644
index 000000000..51a679d66
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:59",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "SpeakPlugIn",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json.meta
new file mode 100644
index 000000000..98bd3d3b1
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d70f61014224adc4e88aafd8ba6d85bf
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json
new file mode 100644
index 000000000..d8f65fc68
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:59","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"SpeakPlugIn"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":511.569122,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Speak","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json.meta
new file mode 100644
index 000000000..5bbe65844
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/26_SpeakPlugIn/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2d2821a000b9c0c4ba6d83fc251a2ede
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达.meta
new file mode 100644
index 000000000..7b2341449
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4cfd24b76ddbfac4a9a6a79a0396aebb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json
new file mode 100644
index 000000000..151cefe47
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:51:59",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "检查表达",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json.meta
new file mode 100644
index 000000000..5d21852a3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: abd02ee2cb5b30548b4aee81f99fb5c0
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json
new file mode 100644
index 000000000..5ca3c6b6b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:51:59","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"检查表达"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":511.569122,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"pluggedModuleName":"Speak","isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json.meta
new file mode 100644
index 000000000..ba05d3bc2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/27_检查表达/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b9e7757eafe852a489ed7f63f0ca42a7
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log.meta
new file mode 100644
index 000000000..d629c587e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2ce000600d9edc34e99a81393e63d345
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json
new file mode 100644
index 000000000..7a8dd36ef
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:52:02",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "手动释放log",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json.meta
new file mode 100644
index 000000000..f1e4999bf
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: dfa1b69eceb3b0940b8a9f4417003f43
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json
new file mode 100644
index 000000000..be19ab5a9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:52:02","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"手动释放log"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":534.454346,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Body"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"透镜","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"BodyModule","args":"Head"},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json.meta
new file mode 100644
index 000000000..e55699141
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/28_手动释放log/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5d5d6b4db6b0e3e4b89fde5deb00ffdc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成.meta
new file mode 100644
index 000000000..61f5d5e94
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 91c3d04f132d21e4a8a812055d5a414f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json
new file mode 100644
index 000000000..68cfd1838
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:52:21",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "LOG1梳理完成",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json.meta
new file mode 100644
index 000000000..40f53a71d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4c012a1529134674fb7c969b466b4576
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json
new file mode 100644
index 000000000..bc3602478
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:52:21","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"LOG1梳理完成"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":595.551331,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜in","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Expression","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json.meta
new file mode 100644
index 000000000..613059914
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/29_LOG1梳理完成/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6abab1f04c2a5164ba673c387d8b8444
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成.meta
new file mode 100644
index 000000000..0c6b83274
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 219f8f0e2aeffc54a879442651dcc5af
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json
new file mode 100644
index 000000000..162c9d995
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:52:46",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "LOG2梳理完成",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json.meta
new file mode 100644
index 000000000..d18e1c2f8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 44373e69a1b01d74cb1ae6e79bace7f4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json
new file mode 100644
index 000000000..3acea39df
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:52:46","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"LOG2梳理完成"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":648.4056,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山头痛2","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜in","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Expression","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json.meta
new file mode 100644
index 000000000..42f0c778c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/30_LOG2梳理完成/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b6d2d532589325c498bfcf853bb0db46
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成.meta
new file mode 100644
index 000000000..c4f3edd1f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 512e85ab758ac0244a2d08a777f49a3b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json
new file mode 100644
index 000000000..8df6a9ab1
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:53:13",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "LOG疏通全部完成",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json.meta
new file mode 100644
index 000000000..d8028ec0c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a4cb1a16b8bdfb449a12cf0994bb2182
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json
new file mode 100644
index 000000000..f566b2c99
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:53:13","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"LOG疏通全部完成"},"yarnVariables":{"floats":{"$gameStage":6.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":705.21,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山头痛2","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜in","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Expression","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json.meta
new file mode 100644
index 000000000..8fdbf462c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/31_LOG疏通全部完成/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c36721d6d440c2a4abc28cbca4e4380c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8.meta
new file mode 100644
index 000000000..fd8ca6fe4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e09065ef11a2bf447bb24f5238b23f0f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json
new file mode 100644
index 000000000..d78faac0b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:53:18",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Stage8",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json.meta
new file mode 100644
index 000000000..4c05dd73b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3811e99b0c8697c44b3b2ca7189bf4c4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json
new file mode 100644
index 000000000..990a0f874
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:53:18","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"Stage8"},"yarnVariables":{"floats":{"$gameStage":8.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":729.1922,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"头痛","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜in","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Expression","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json.meta
new file mode 100644
index 000000000..b1442adb9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/32_Stage8/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cb920ab11b46d014fb57f438c983413d
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7.meta
new file mode 100644
index 000000000..a6135d73a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1b6d178cd3e7e194f8a22a92230698a6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json
new file mode 100644
index 000000000..b83633f53
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:53:18",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束Stage7",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json.meta
new file mode 100644
index 000000000..ba1652ec6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9bb4cdfd15ae27d48bf7bcf3149e283e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json
new file mode 100644
index 000000000..b3b99fbdd
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:53:18","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束Stage7"},"yarnVariables":{"floats":{"$gameStage":8.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":729.1922,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Main"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"头痛","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜in","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Expression","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json.meta
new file mode 100644
index 000000000..6f1387913
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/33_结束Stage7/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9aca67565571f994f82c3f9f4a177cd7
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话.meta
new file mode 100644
index 000000000..37f6d6c8b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e59708250357ef46b9022704cc95296
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json
new file mode 100644
index 000000000..cc0c732e5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:53:19",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_FIRST_HS1",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "结束对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json.meta
new file mode 100644
index 000000000..d89cc73e3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d66bc433e4aa8694d8dca354c6ad3d97
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json
new file mode 100644
index 000000000..b7af58c23
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:53:19","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_FIRST_HS1","yarnProjectId":"FP_Huoshan1","nodeName":"结束对话"},"yarnVariables":{"floats":{"$gameStage":8.0,"$TaskToDo":2.0,"$PlugCount":3.0,"$salesTurnIndex":3.0,"$knobFailCount":2.0},"strings":{},"bools":{"$global.IsPlugHighLight":true,"$speakerChecked":true,"$colorChecked":true,"$emoChecked":true}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":741.564758,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"头痛","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜out","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":false}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json.meta
new file mode 100644
index 000000000..8bf76a7e8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/34_结束对话/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 49d06c33ea447ab43a9b25eaf1668e45
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center.meta
new file mode 100644
index 000000000..37764071d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 349fd17b526fe914695615b67e882b91
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json
new file mode 100644
index 000000000..ea51ad02d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-07-13 13:53:21",
+ "sceneName": "Scene/HuoShanFixScene",
+ "sceneSoName": "Day2_mid",
+ "yarnProjectId": "FP_Huoshan1",
+ "nodeName": "Center",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.2.1-20260705-010933",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json.meta
new file mode 100644
index 000000000..d22341a34
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 27c8f95153ac3f24baa4bed9e3fdefb6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json
new file mode 100644
index 000000000..aedc37e9f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json
@@ -0,0 +1 @@
+{"schemaVersion":1,"gameVersion":"0.5.2.1-20260705-010933","savedAt":"2026-07-13 13:53:21","scene":{"sceneName":"Scene/HuoShanFixScene"},"anchor":{"sceneSoName":"Day2_mid","yarnProjectId":"FP_Huoshan1","nodeName":"Center"},"yarnVariables":{"floats":{},"strings":{},"bools":{}},"sections":{"env":{"curTime":"Day","curWeather":"Sunny","isInitialized":true},"actor":{"actors":[{"actorName":"火山","slotName":"clinic","actorType":"Anima","stateName":"捂头表情idle","stateNormalizedTime":752.110657,"alpha":1.0,"isTalking":false}]},"audio":{"musicPaths":{},"sfxPaths":{},"ambState":"Clinic"},"timeline":{"entries":[{"directorName":"进入维修间","isActive":true,"phase":"AtStart","hasEverAppliedPlayback":true},{"directorName":"引擎仓面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"插线面板","isActive":true,"phase":"Stopped","hasEverAppliedPlayback":false},{"directorName":"钳子","isActive":true,"phase":"AtStart","loadedAddressableKey":"放下盖子","hasEverAppliedPlayback":true},{"directorName":"火山Glitch","isActive":true,"phase":"AtStart","loadedAddressableKey":"头痛","hasEverAppliedPlayback":true},{"directorName":"火山表达模块","isActive":true,"phase":"AtStart","loadedAddressableKey":"火山表达确认","hasEverAppliedPlayback":true},{"directorName":"透镜","isActive":true,"phase":"AtStart","loadedAddressableKey":"透镜out","hasEverAppliedPlayback":true},{"directorName":"步进模式","isActive":true,"phase":"AtStart","loadedAddressableKey":"进入步进模式","hasEverAppliedPlayback":true}]},"fix":{"state":"Clinic","args":""},"fixPanel":{"isSystemOn":true,"currentRepairSystemType":"BodyModuleSystem","isCableRetracted":false,"isTaskPanelVisible":true,"tasks":[{"lineId":"line:0c51688","text":"● 检查情绪模块"},{"lineId":"line:028e9bd","text":"● 释放表达模块的阻塞log"}]},"bodyModule":{"moduleState":"Head","isUFCoverRemoved":false,"isUFRemoved":false,"isColorRemoved":false,"isChipRemoved":false,"highlightedModules":["Speak"],"alarmedModules":[]},"screen":{"saturationWeight":0.0,"isFadeScreenCovered":true}}}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json.meta
new file mode 100644
index 000000000..d5b9aa639
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Huoshan1/35_Center/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 22d5a03cd9be33e4ab415a0616ea962c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1.meta
new file mode 100644
index 000000000..eb1af5376
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5e5f78b227698ff45aecb11612f92e6a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro.meta
new file mode 100644
index 000000000..d319bf1be
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bab9880ef5cc4d249948bb7adb7366ac
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json
new file mode 100644
index 000000000..a61fd5a9f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:17:32",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "开场对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json.meta
new file mode 100644
index 000000000..8164207bd
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 443d71f0ebdd1344f8e6602245221146
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json
new file mode 100644
index 000000000..634b0f4f8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json
@@ -0,0 +1,95 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:17:32",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "开场对话"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {},
+ "bools": {}
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Default",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": true,
+ "isTaskPanelVisible": false,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Body",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": false,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json.meta
new file mode 100644
index 000000000..1bff3a258
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/01_Intro/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8183dc9936431174d9753c336f8e21b3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room.meta
new file mode 100644
index 000000000..fe6fbc2eb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 780f32dffe8f0a742abbbe5f5ed34e64
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json
new file mode 100644
index 000000000..d6774d431
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:17:37",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进门后",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json.meta
new file mode 100644
index 000000000..54956ecef
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 079039f0dcf093341b5ff9f749a5fcb4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json
new file mode 100644
index 000000000..c97167c2c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json
@@ -0,0 +1,95 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:17:37",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进门后"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {},
+ "bools": {}
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Default",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": true,
+ "isTaskPanelVisible": false,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Body",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": false,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json.meta
new file mode 100644
index 000000000..769a3a191
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/02_Enter_Room/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4f6064766d167a340b83872871ac7e5f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF.meta
new file mode 100644
index 000000000..40eca0440
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1386b5ed4c91fc24b9a93dacd30b8552
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json
new file mode 100644
index 000000000..f184d8664
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:17:45",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "第一次身体检查_检查UF",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json.meta
new file mode 100644
index 000000000..cf89a3e1e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cd1115fa1f5c1b94690a75ec49dbe1ba
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json
new file mode 100644
index 000000000..03ad7f77b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json
@@ -0,0 +1,114 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:17:45",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "第一次身体检查_检查UF"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {
+ "$gameStage": "UF检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 10.7053051,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "UF",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01dade5",
+ "text": "● 定位佩佩的UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json.meta
new file mode 100644
index 000000000..ea2ab20bf
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/03_Body_UF/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cc136ac042b8ca14f90756f82d307e9f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep.meta
new file mode 100644
index 000000000..5435315ba
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1d335d749123e184fa7c5a4dc05b60b0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json
new file mode 100644
index 000000000..a216a1a20
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:17:47",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "UF深入检查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json.meta
new file mode 100644
index 000000000..3e7b680e2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e0309f7d812abff4788c8fd50884009b
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json
new file mode 100644
index 000000000..6c83958e0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json
@@ -0,0 +1,117 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:17:47",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "UF深入检查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 1.0
+ },
+ "strings": {
+ "$gameStage": "UF检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 19.032732,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "UF",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:04c146f",
+ "text": "● 检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json.meta
new file mode 100644
index 000000000..5d9143177
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/04_UF_Deep/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d7b2162d3baaabf46ac3ea760895d0b6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision.meta
new file mode 100644
index 000000000..91446447c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 64802c6fd49dd1c41a1471520ad4b219
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json
new file mode 100644
index 000000000..0db1b7419
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:17:51",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "第一次身体检查_检查视觉",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json.meta
new file mode 100644
index 000000000..31da30f1d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 004718a5173997847a7c0adbd547bc2c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json
new file mode 100644
index 000000000..86feac19d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json
@@ -0,0 +1,120 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:17:51",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "第一次身体检查_检查视觉"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0
+ },
+ "strings": {
+ "$gameStage": "视觉检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 33.75063,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "Eye",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01fada9",
+ "text": "● 在视觉模块寻找线索"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Eye"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json.meta
new file mode 100644
index 000000000..17756b203
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/05_Body_Vision/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 176b3275eb714c84ebd444ae6f1b8d5c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start.meta
new file mode 100644
index 000000000..92f3dc35c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d09eb5c7373054347af2a5c535e0e743
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json
new file mode 100644
index 000000000..0bfbc6c06
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:18:06",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入记忆检查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json.meta
new file mode 100644
index 000000000..46bd0d845
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 374d3069ed4ae9640b3c968309e23d4c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json
new file mode 100644
index 000000000..181b885ee
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json
@@ -0,0 +1,154 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:18:06",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入记忆检查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0
+ },
+ "strings": {
+ "$gameStage": "记忆检查",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 92.29114,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": [
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.天空",
+ "MemoryIndex": "liuying1-3",
+ "used": false
+ },
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.植物",
+ "MemoryIndex": "liuying1-2",
+ "used": false
+ },
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.海报",
+ "MemoryIndex": "liuying1-1",
+ "used": false
+ }
+ ]
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01fada9",
+ "text": "● 在视觉模块寻找线索"
+ },
+ {
+ "lineId": "line:043e26d",
+ "text": "● 检查“色彩数据”记忆"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Memory"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json.meta
new file mode 100644
index 000000000..db9643da9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/06_Memory_Start/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fa01ce655910b0b498a9d6fd4debc457
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check.meta
new file mode 100644
index 000000000..a3e63daf4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 52fc8ddacc9083942981b84d053a94fd
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json
new file mode 100644
index 000000000..2653ca014
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:18:07",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "检查记忆",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json.meta
new file mode 100644
index 000000000..68ca511b3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 888cf7b9a1458e742ab12fb8e6ff0e7e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json
new file mode 100644
index 000000000..5601f2409
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json
@@ -0,0 +1,156 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:18:07",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "检查记忆"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0
+ },
+ "strings": {
+ "$gameStage": "记忆检查",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 96.79041,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": [
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.天空",
+ "MemoryIndex": "liuying1-3",
+ "used": false
+ },
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.植物",
+ "MemoryIndex": "liuying1-2",
+ "used": false
+ },
+ {
+ "Category": "EyeView",
+ "ClueName": "l10n.海报",
+ "MemoryIndex": "liuying1-1",
+ "used": false
+ }
+ ]
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "Memory",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01fada9",
+ "text": "● 在视觉模块寻找线索"
+ },
+ {
+ "lineId": "line:043e26d",
+ "text": "● 检查“色彩数据”记忆"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Memory"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json.meta
new file mode 100644
index 000000000..b631ec277
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/07_Memory_Check/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 295eb62e128de8c45a91ef1c51028486
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis.meta
new file mode 100644
index 000000000..cba1ae63f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 31380a8d08fe7844b8f12b37645fda6f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json
new file mode 100644
index 000000000..20f8bb3c4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:19:47",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入分析",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json.meta
new file mode 100644
index 000000000..125aecd2d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 53de5ad9a084a8348a77e7703e478213
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json
new file mode 100644
index 000000000..6abacbb87
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json
@@ -0,0 +1,140 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:19:47",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入分析"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "分析",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Sideeye",
+ "stateNormalizedTime": 481.14978,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01fada9",
+ "text": "● 在视觉模块寻找线索"
+ },
+ {
+ "lineId": "line:02a3a37",
+ "text": "● 分析病理与治疗方案"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json.meta
new file mode 100644
index 000000000..b68622e7c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/08_Analysis/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 777a7699fead9a848864aeed8cab8ddf
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk.meta
new file mode 100644
index 000000000..683f11781
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4abed2c864abd204589024127c5f63ab
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json
new file mode 100644
index 000000000..69237fba5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:19:53",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入术前谈话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json.meta
new file mode 100644
index 000000000..6c402bfeb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6559f9be47ec2d14f835b71fd94383cc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json
new file mode 100644
index 000000000..4b9ee467a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json
@@ -0,0 +1,138 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:19:53",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入术前谈话"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "术前谈话",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "1I",
+ "stateNormalizedTime": 0.0,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "event:/Music/music_peipei_1": "event:/Music/music_peipei_1"
+ },
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Clinic",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:01fada9",
+ "text": "● 在视觉模块寻找线索"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json.meta
new file mode 100644
index 000000000..9b4e1eab6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/09_Pre_Talk/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fbc2d3e9c4eca2c4ab8ddf70a62bc206
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery.meta
new file mode 100644
index 000000000..b299d43ec
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4457e44300774454c96734dbc67f0539
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json
new file mode 100644
index 000000000..4732e7d43
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:19:57",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入手术",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json.meta
new file mode 100644
index 000000000..7d13fde79
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 96910b744a8aa0f418e5781b92939497
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json
new file mode 100644
index 000000000..153ad4f18
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json
@@ -0,0 +1,138 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:19:57",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入手术"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "手术",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2",
+ "stateNormalizedTime": 2.13779116,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "event:/Music/music_peipei_1": "event:/Music/music_peipei_1"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0deda99",
+ "text": "● 执行视觉-记忆桥截断术"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json.meta
new file mode 100644
index 000000000..42192cf40
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/10_Surgery/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c821a55c7288b054e920a7e995ab84f8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine.meta
new file mode 100644
index 000000000..7408f6b35
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 36545c8835fb2654eb89d105aede6760
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json
new file mode 100644
index 000000000..e7657ca04
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:20:00",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "CutLine",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json.meta
new file mode 100644
index 000000000..dbb3e1891
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b80f8c68e302fa7418dab34f9e3e1809
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json
new file mode 100644
index 000000000..fca763357
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json
@@ -0,0 +1,136 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:20:00",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "CutLine"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 3.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "手术",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2",
+ "stateNormalizedTime": 11.7810183,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0deda99",
+ "text": "● 执行视觉-记忆桥截断术"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CanImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json.meta
new file mode 100644
index 000000000..a537e51ea
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/11_CutLine/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ce6e3ca5a552ef84eb449806e6ea3de9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck.meta
new file mode 100644
index 000000000..094589349
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf1fdca748d75d24cbecd4451497ef05
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json
new file mode 100644
index 000000000..3618f7e55
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:20:00",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入复查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json.meta
new file mode 100644
index 000000000..cdc3c28da
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c1a0bba2b910ec34d9082382770c1071
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json
new file mode 100644
index 000000000..882a585e5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json
@@ -0,0 +1,131 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:20:00",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入复查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 0.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "复查",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": false
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2",
+ "stateNormalizedTime": 12.9643087,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json.meta
new file mode 100644
index 000000000..35ec2c95f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/12_Recheck/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 26cc266b872eaee4b826f196084ff2dc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision.meta
new file mode 100644
index 000000000..ab0c3e03b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4630af57e14f7904a90116cc6a1be022
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json
new file mode 100644
index 000000000..9ea373e31
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:20:02",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "复查_检查视觉",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json.meta
new file mode 100644
index 000000000..d34b89b14
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 55c5f33f5c1b57446a278234f814307f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json
new file mode 100644
index 000000000..20fcd5c89
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json
@@ -0,0 +1,139 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:20:02",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "复查_检查视觉"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 4.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 0.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0
+ },
+ "strings": {
+ "$gameStage": "复查",
+ "$currentEyeTarget": "poster"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": false,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": false
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2",
+ "stateNormalizedTime": 19.3081741,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "Eye",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:037c944",
+ "text": "● 检查视觉模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Eye"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json.meta
new file mode 100644
index 000000000..94feefb71
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/13_Recheck_Vision/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3b317cc5381e76446af58681326f405e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk.meta
new file mode 100644
index 000000000..42630b2b4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a328ed3f635ee444eb4eb91d666da936
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json
new file mode 100644
index 000000000..65caa46ef
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-29 19:20:10",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入结束对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json.meta
new file mode 100644
index 000000000..408279159
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3d178d4291f4fe74dbb123ee650e35f0
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json
new file mode 100644
index 000000000..e5560f82d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json
@@ -0,0 +1,137 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-29 19:20:10",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day1_FIRST_PP1",
+ "yarnProjectId": "FP_Peipei1",
+ "nodeName": "进入结束对话"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$PlugCount": 2.0,
+ "$Yarn.Internal.Visiting.UF深入检查": 1.0,
+ "$Yarn.Internal.Visiting.IntoEyeView": 7.0,
+ "$Yarn.Internal.Visiting.FirstDialogue": 1.0,
+ "$eyeTargetTriggerCount": 2.0,
+ "$Yarn.Internal.Visiting.佩佩告诉你可以想象颜色": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plant": 1.0,
+ "$Yarn.Internal.Visiting.Eye_poster": 1.0,
+ "$Yarn.Internal.Visiting.MemoryPlugIn": 1.0,
+ "$memoryCount": 3.0,
+ "$Yarn.Internal.Visiting.天空": 1.0,
+ "$Yarn.Internal.Visiting.植物": 1.0,
+ "$Yarn.Internal.Visiting.海报": 1.0,
+ "$ufDiscussCount": 3.0,
+ "$eyeDiscussCount": 2.0,
+ "$Yarn.Internal.Visiting.Eye_posterAfterSurgery": 1.0,
+ "$Yarn.Internal.Visiting.Eye_plantAfterSurgery": 1.0
+ },
+ "strings": {
+ "$gameStage": "结束对话",
+ "$currentEyeTarget": "plant"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$UfChecked": true,
+ "$eyeChecked": true,
+ "$eyenocolorKnown": true,
+ "$peipeiReadyToShow": true,
+ "$eyecolorKnown": true,
+ "$isFinishedEyeCheck": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "窗外佩佩",
+ "slotName": "窗外",
+ "actorType": "Sprite",
+ "stateName": "Idle",
+ "stateNormalizedTime": 0.0,
+ "alpha": 0.0,
+ "isTalking": false
+ },
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2H",
+ "stateNormalizedTime": 1.22089159,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "event:/Amb/amb_beachsample": "event:/Amb/amb_beachsample"
+ },
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Clinic",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": [
+ "Eye"
+ ]
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json.meta
new file mode 100644
index 000000000..345d6606c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei1/14_Ending_Talk/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d08adb8cba18e1d488bc40fbb22ae7ef
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2.meta
new file mode 100644
index 000000000..d4fbbb414
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e2bfcf80789a9748b0132d11c50626b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start.meta
new file mode 100644
index 000000000..ce47daf2c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 47aea11d4f3ad844a8e411840a47629f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json
new file mode 100644
index 000000000..9889f150e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:06",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "Start",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json.meta
new file mode 100644
index 000000000..fbe114a3d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ef087bcf5d390f4bb991357a081a5f8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json
new file mode 100644
index 000000000..b1ae15d80
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json
@@ -0,0 +1,85 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:06",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "Start"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {},
+ "bools": {}
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": []
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Default",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": true,
+ "isTaskPanelVisible": false,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Body",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": false,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json.meta
new file mode 100644
index 000000000..da4781e6b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/01_Start/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 59d716822638e7e41b5486a64e462d1c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro.meta
new file mode 100644
index 000000000..bcd5c9651
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1710d67bd1738da42b43e90e0bc99511
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json
new file mode 100644
index 000000000..6aed1f29f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:06",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入佩佩开场对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json.meta
new file mode 100644
index 000000000..e61266bd7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 08c1bf5d3ca4e2540811f4a477cac33f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json
new file mode 100644
index 000000000..5d254d021
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json
@@ -0,0 +1,85 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:06",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入佩佩开场对话"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {},
+ "bools": {}
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": []
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Default",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": true,
+ "isTaskPanelVisible": false,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Body",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": false,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json.meta
new file mode 100644
index 000000000..585d83e78
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/02_Intro/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3d62da7190b04fd418db8bdf120ac106
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat.meta
new file mode 100644
index 000000000..e6ff8296b
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 39033a587ac64884493320574f8e2692
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json
new file mode 100644
index 000000000..8fe423c74
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:15",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入第一次发热",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json.meta
new file mode 100644
index 000000000..1825fb094
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ba86802015c77f74fa33d752a42dbe3c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json
new file mode 100644
index 000000000..c657bfde9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json
@@ -0,0 +1,97 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:15",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入第一次发热"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {
+ "$gameStage": "第一次发热"
+ },
+ "bools": {}
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 25.1401443,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtEnd",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Default",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": true,
+ "isTaskPanelVisible": false,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Body",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": false,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json.meta
new file mode 100644
index 000000000..d3cc0fb54
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/03_First_Heat/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bc5a2cb93cb508a4e97de6d35d879dc9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System.meta
new file mode 100644
index 000000000..b42ae98eb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bfbc49a5db1ee464dbddb3686a8aba26
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json
new file mode 100644
index 000000000..47ca817e0
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:18",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "系统发热",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json.meta
new file mode 100644
index 000000000..a06f216fe
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 15be8fac258cad04286887204bb43ed5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json
new file mode 100644
index 000000000..90d808dff
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json
@@ -0,0 +1,107 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:18",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "系统发热"
+ },
+ "yarnVariables": {
+ "floats": {},
+ "strings": {
+ "$gameStage": "第一次发热"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 36.1157532,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "UF",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:06d0c20",
+ "text": "● 检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "UF"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json.meta
new file mode 100644
index 000000000..0478af5fb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/04_Heat_System/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e17294f51dd01e54db3fc043748251a5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check.meta
new file mode 100644
index 000000000..82142af8f
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c3bbe0efae5bb9245bed6bba91b41ce3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json
new file mode 100644
index 000000000..9f82b705e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:21",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入身体检查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json.meta
new file mode 100644
index 000000000..95b4ba7ce
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4ca9193e87b78c641985251de73cfad7
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json
new file mode 100644
index 000000000..8a4cb69bd
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json
@@ -0,0 +1,110 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:21",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入身体检查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0
+ },
+ "strings": {
+ "$gameStage": "身体检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 49.9799,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:06d0c20",
+ "text": "● 检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "UF"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json.meta
new file mode 100644
index 000000000..09ee2b8a6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/05_Body_Check/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e46876cd69d6150418a08dd145c5dfdc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked.meta
new file mode 100644
index 000000000..7f2e37600
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 29ffe876335a2124a8d5970b6291967a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json
new file mode 100644
index 000000000..955de8288
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:23",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "检查UF_不可检查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json.meta
new file mode 100644
index 000000000..d16ecc62a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8df303ad2e27f28459cdd7d0b840edde
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json
new file mode 100644
index 000000000..b3b358603
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json
@@ -0,0 +1,111 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:23",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "检查UF_不可检查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0
+ },
+ "strings": {
+ "$gameStage": "身体检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 58.4737473,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "UF",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:06d0c20",
+ "text": "● 检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "UF"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json.meta
new file mode 100644
index 000000000..ca6a9d631
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/06_UF_Locked/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ebc3c0cd210cc6418fe40ae1c225c62
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell.meta
new file mode 100644
index 000000000..8ffde6003
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac31228538f94104d99a079728c45efd
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json
new file mode 100644
index 000000000..3f7e4bab3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:28",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF拆壳",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json.meta
new file mode 100644
index 000000000..cd9cc50c3
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 54ecc19a5961d9e43addc87c17ed25a1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json
new file mode 100644
index 000000000..ee7891920
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json
@@ -0,0 +1,112 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:28",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF拆壳"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0
+ },
+ "strings": {
+ "$gameStage": "UF拆壳"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 74.33931,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "UF",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:073a567",
+ "text": "● 找到影响UF的“未知来源”"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json.meta
new file mode 100644
index 000000000..21fe41e5c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/07_UF_Shell/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: db8bd79ee36016843b31ddec70ba97a4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check.meta
new file mode 100644
index 000000000..466e15a72
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0013af453317d8c4cb68d6435211963a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json
new file mode 100644
index 000000000..b94ff7c40
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:31",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF检查",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json.meta
new file mode 100644
index 000000000..39a992511
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2d5b6aa2e69fd0749aff79e487c99ffd
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json
new file mode 100644
index 000000000..f8fac9f7e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json
@@ -0,0 +1,115 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:31",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF检查"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0
+ },
+ "strings": {
+ "$gameStage": "UF检查"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 88.156395,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:073a567",
+ "text": "● 找到影响UF的“未知来源”"
+ },
+ {
+ "lineId": "line:0a431e3",
+ "text": "● 深入检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json.meta
new file mode 100644
index 000000000..b9fb52167
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/08_UF_Check/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0d62c81bd30b3474899d597084d322dd
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View.meta
new file mode 100644
index 000000000..efa1a8a62
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e9a99512b3fed6d478082b1eb23816a9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json
new file mode 100644
index 000000000..28a6cc140
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:38",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "IntoEyeView",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json.meta
new file mode 100644
index 000000000..0820c6d61
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7410ef90efac60640bc901783811c905
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json
new file mode 100644
index 000000000..25e737d6e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json
@@ -0,0 +1,116 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:38",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "IntoEyeView"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0
+ },
+ "strings": {
+ "$gameStage": "UF检查",
+ "$currentEyeTarget": "plant"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 115.150826,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {},
+ "sfxPaths": {},
+ "ambState": "UF"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "UF",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:073a567",
+ "text": "● 找到影响UF的“未知来源”"
+ },
+ {
+ "lineId": "line:0a431e3",
+ "text": "● 深入检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json.meta
new file mode 100644
index 000000000..681968902
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/09_Eye_View/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3b7aac81bd1bd0b40b6fdada1a544911
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis.meta
new file mode 100644
index 000000000..4f1ba4f31
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 68517c677d4e8a64ba4f6f362ff66d57
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json
new file mode 100644
index 000000000..9a031e367
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:29:56",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入分析",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json.meta
new file mode 100644
index 000000000..9df8a818a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3b01dd7e3790ec1409e4aa89d1829771
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json
new file mode 100644
index 000000000..1d42f14db
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json
@@ -0,0 +1,122 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:29:56",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入分析"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 5.0
+ },
+ "strings": {
+ "$gameStage": "分析",
+ "$currentEyeTarget": "plant",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 184.379028,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:073a567",
+ "text": "● 找到影响UF的“未知来源”"
+ },
+ {
+ "lineId": "line:0a431e3",
+ "text": "● 深入检查UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json.meta
new file mode 100644
index 000000000..7e3440efa
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/10_Analysis/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2811f8d7485b4c8419f225c227873bb3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk.meta
new file mode 100644
index 000000000..bf2235505
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e2df57c4c43461b498296c52e7e12189
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json
new file mode 100644
index 000000000..2717bd88e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:07",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入术前谈话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json.meta
new file mode 100644
index 000000000..e5358af84
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 104e00c83caa4394eb8dd7d6cf9df998
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json
new file mode 100644
index 000000000..9466c0c82
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json
@@ -0,0 +1,118 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:07",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入术前谈话"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 5.0
+ },
+ "strings": {
+ "$gameStage": "术前谈话",
+ "$currentEyeTarget": "plant",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 225.593246,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0e94a4a",
+ "text": "● 分析病理与治疗方案"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json.meta
new file mode 100644
index 000000000..a0faa9bb8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/11_Pre_Talk/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c2e3c5db9401675459c8182ddd4f1383
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image.meta
new file mode 100644
index 000000000..8d529d9a8
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5ea5e112c74a3ba43ae876fec2ce587a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json
new file mode 100644
index 000000000..5e57e5468
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:14",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入停止想象",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json.meta
new file mode 100644
index 000000000..9e60d7be2
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ab467701ad10b664d864154d9a060f0e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json
new file mode 100644
index 000000000..aa2ba3932
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json
@@ -0,0 +1,113 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:14",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入停止想象"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 5.0
+ },
+ "strings": {
+ "$gameStage": "停止想象",
+ "$currentEyeTarget": "plant",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 254.874359,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Clinic",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json.meta
new file mode 100644
index 000000000..2cba94ff7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/12_Stop_Image/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6fea5afcacbfb6043b746061506fcba1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check.meta
new file mode 100644
index 000000000..df69431e7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 32e479ca662a776499d3aeeee6fcd7bf
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json
new file mode 100644
index 000000000..afb9f2348
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:20",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "停止想象Check",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json.meta
new file mode 100644
index 000000000..7675b2c19
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 340651326bb5bed49b7754d04f2b5eb8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json
new file mode 100644
index 000000000..40126d951
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json
@@ -0,0 +1,120 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:20",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "停止想象Check"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 0.0
+ },
+ "strings": {
+ "$gameStage": "停止想象",
+ "$currentEyeTarget": "plant",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 278.393768,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "UF"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "UF",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:08f5fd5",
+ "text": "● 尝试停止想象"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": [
+ "UF"
+ ]
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json.meta
new file mode 100644
index 000000000..ad23c41d7
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/13_Stop_Check/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a386a9eabc519d749b5dadd6c9024fe0
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk.meta
new file mode 100644
index 000000000..6ea853293
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 34907b667a90725419ef96b3eb0fcb93
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json
new file mode 100644
index 000000000..a732c5226
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:42",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "降温失败的对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json.meta
new file mode 100644
index 000000000..ac9e48327
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 08d9a331ba6586c4eaa0e7e296897eae
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json
new file mode 100644
index 000000000..a67eb0110
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json
@@ -0,0 +1,118 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:42",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "降温失败的对话"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "停止想象",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 362.780426,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0a5b7c2",
+ "text": "● 对佩佩进行降温"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json.meta
new file mode 100644
index 000000000..a45c7983e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/14_Cool_Fail_Talk/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8cb207ebe4d325f498b3937d48673e1a
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF.meta
new file mode 100644
index 000000000..869c66326
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f8944902ab705a4fb52c4f942ed6fb3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json
new file mode 100644
index 000000000..a094be95e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:43",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF拆除",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json.meta
new file mode 100644
index 000000000..7fe6c68d6
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cbc2d04b20d94cd4caef130fb3220563
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json
new file mode 100644
index 000000000..6514306f4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json
@@ -0,0 +1,122 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:43",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入UF拆除"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "UF拆除",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 364.248169,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0a5b7c2",
+ "text": "● 对佩佩进行降温"
+ },
+ {
+ "lineId": "line:0538e87",
+ "text": "● 拆除UF模块"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json.meta
new file mode 100644
index 000000000..076b22489
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/15_Remove_UF/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9166bf7b764ac544f8201a33568f1465
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2.meta
new file mode 100644
index 000000000..7cf276c00
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9d2173d55b6975e4db35ab898d7c02ba
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json
new file mode 100644
index 000000000..bb384d976
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:44",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入术前谈话2",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json.meta
new file mode 100644
index 000000000..f5fc7071a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ac7dd1d42c327404b982103e4b34fa05
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json
new file mode 100644
index 000000000..dd3601d5d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json
@@ -0,0 +1,113 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:44",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入术前谈话2"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "术前谈话2",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 369.603668,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": true,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json.meta
new file mode 100644
index 000000000..da62244e5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/16_Pre_Talk_2/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e2cb3ef7e84acd0459c54c983899b084
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery.meta
new file mode 100644
index 000000000..ea78f57e5
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 446e2ba5ee98b9e4c8494033ec1a2cc9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json
new file mode 100644
index 000000000..358887894
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:30:58",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入手术",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json.meta
new file mode 100644
index 000000000..b35d0150d
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9d04751695ff2724d809ce1d3351f563
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json
new file mode 100644
index 000000000..d7cfb056e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json
@@ -0,0 +1,115 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:30:58",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入手术"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "手术",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true,
+ "$peipeiCry": true,
+ "$global_isPeipeiBE": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 423.447357,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Clinic"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "Clinic",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": true,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json.meta
new file mode 100644
index 000000000..cfd2636ea
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/17_Surgery/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 28ff1ae2f3f8c9d4cb744fcc3ef5f3d3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin.meta
new file mode 100644
index 000000000..92f3e6da4
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: be2f6169b9171ad47948b4ef3eb576b5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json
new file mode 100644
index 000000000..760332556
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:31:00",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "MemoryPlugIn",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json.meta
new file mode 100644
index 000000000..f0759dff9
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 78e52f7b9da976f4abb2eb3ca758c3cf
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json
new file mode 100644
index 000000000..2417d28aa
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json
@@ -0,0 +1,123 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:31:00",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "MemoryPlugIn"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "手术",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true,
+ "$peipeiCry": true,
+ "$global_isPeipeiBE": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 431.543579,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": "Head"
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "pluggedModuleName": "Memory",
+ "isTaskPanelVisible": true,
+ "tasks": [
+ {
+ "lineId": "line:0701927",
+ "text": "● 执行手术-色彩记忆初始化"
+ }
+ ]
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": true,
+ "isUFRemoved": true,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Memory"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json.meta
new file mode 100644
index 000000000..d3383de6c
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/18_Memory_Plugin/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a09203f49998c8b4881d04407e582f56
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk.meta
new file mode 100644
index 000000000..4be4dc696
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 64abfef6832809345a08cf37806e1ec7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json
new file mode 100644
index 000000000..0b64a124e
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json
@@ -0,0 +1,11 @@
+{
+ "slotIndex": -1,
+ "savedAt": "2026-06-30 14:31:18",
+ "sceneName": "Scene/PeipeiFixScene",
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入结束对话",
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "thumbnailFile": "thumbnail.png"
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json.meta
new file mode 100644
index 000000000..1f1161b37
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/meta.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cb6b7a15456b6ec4fa500737f1c5a5be
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json
new file mode 100644
index 000000000..80cd011fb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json
@@ -0,0 +1,120 @@
+{
+ "schemaVersion": 1,
+ "gameVersion": "0.5.1.1-20260430-002845",
+ "savedAt": "2026-06-30 14:31:18",
+ "scene": {
+ "sceneName": "Scene/PeipeiFixScene"
+ },
+ "anchor": {
+ "sceneSoName": "Day2_NEXT_PP2",
+ "yarnProjectId": "FP_Peipei2",
+ "nodeName": "进入结束对话"
+ },
+ "yarnVariables": {
+ "floats": {
+ "$feverMessageSeen": 0.0,
+ "$feverCount": 1.0,
+ "$PlugCount": 1.0,
+ "$Yarn.Internal.Visiting.UF深入失败": 1.0,
+ "$UFCount": 4.0
+ },
+ "strings": {
+ "$gameStage": "结束对话",
+ "$currentEyeTarget": "poster",
+ "$targetDescription": "l10n.植物,绿色"
+ },
+ "bools": {
+ "$global.IsPlugHighLight": true,
+ "$finishFirstCoolDown": true,
+ "$UfChecked": true,
+ "$HaveSeenSky": true,
+ "$HaveSeenPoster": true,
+ "$peipeiCry": true,
+ "$global_isPeipeiBE": true,
+ "$Memory1Fade_Peipei": true,
+ "$Memory2Fade_Peipei": true,
+ "$Memory3Fade_Peipei": true
+ }
+ },
+ "sections": {
+ "env": {
+ "curTime": "Day",
+ "curWeather": "Sunny",
+ "isInitialized": true
+ },
+ "actor": {
+ "actors": [
+ {
+ "actorName": "佩佩",
+ "slotName": "clinic",
+ "actorType": "Anima",
+ "stateName": "2Pouting",
+ "stateNormalizedTime": 500.497681,
+ "alpha": 1.0,
+ "isTalking": false
+ }
+ ]
+ },
+ "audio": {
+ "musicPaths": {
+ "music": "event:/Music/mus_peipei"
+ },
+ "sfxPaths": {},
+ "ambState": "Body"
+ },
+ "timeline": {
+ "entries": [
+ {
+ "directorName": "引擎仓面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ },
+ {
+ "directorName": "进入维修间",
+ "isActive": true,
+ "phase": "AtStart",
+ "hasEverAppliedPlayback": true
+ },
+ {
+ "directorName": "插线面板",
+ "isActive": true,
+ "phase": "Stopped",
+ "hasEverAppliedPlayback": false
+ }
+ ]
+ },
+ "punchTape": {
+ "favorites": []
+ },
+ "fix": {
+ "state": "BodyModule",
+ "args": ""
+ },
+ "fixPanel": {
+ "isSystemOn": true,
+ "currentRepairSystemType": "BodyModuleSystem",
+ "isCableRetracted": false,
+ "isTaskPanelVisible": true,
+ "tasks": []
+ },
+ "bodyModule": {
+ "moduleState": "Head",
+ "isUFCoverRemoved": false,
+ "isUFRemoved": false,
+ "isColorRemoved": false,
+ "isChipRemoved": true,
+ "highlightedModules": [
+ "Memory"
+ ],
+ "alarmedModules": []
+ },
+ "eye": {
+ "eyeColorState": "CannotImagineColor"
+ },
+ "screen": {
+ "saturationWeight": 0.0,
+ "isFadeScreenCovered": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json.meta b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json.meta
new file mode 100644
index 000000000..56afe5ddb
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/Peipei2/19_Ending_Talk/snapshot.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 611d47cfb695ed24697d7cb571dc3b31
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/StreamingAssets/TestSaveFiles/catalog.json b/Assets/StreamingAssets/TestSaveFiles/catalog.json
new file mode 100644
index 000000000..40e5bdb8a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/catalog.json
@@ -0,0 +1,16 @@
+{
+ "sections": [
+ {
+ "id": "Peipei1",
+ "title": "Peipei 1"
+ },
+ {
+ "id": "Peipei2",
+ "title": "Peipei 2"
+ },
+ {
+ "id": "Huoshan1",
+ "title": "Huoshan 1"
+ }
+ ]
+}
diff --git a/Assets/StreamingAssets/TestSaveFiles/catalog.json.meta b/Assets/StreamingAssets/TestSaveFiles/catalog.json.meta
new file mode 100644
index 000000000..baa020b8a
--- /dev/null
+++ b/Assets/StreamingAssets/TestSaveFiles/catalog.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e1f56674e489b3c4ab1756dc89ae7b46
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Tools/promote_huoshan_test_saves.py b/Tools/promote_huoshan_test_saves.py
new file mode 100644
index 000000000..810c55790
--- /dev/null
+++ b/Tools/promote_huoshan_test_saves.py
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+"""Promote latest FP_Huoshan1 testsavs into StreamingAssets/TestSaveFiles/Huoshan1."""
+from __future__ import annotations
+
+import json
+import shutil
+from pathlib import Path
+
+TESTSAVS = Path.home() / "AppData/LocalLow/Tin Bird/AllOurBrokenParts/AllOurBrokenParts/testsavs"
+DEST = Path("Assets/StreamingAssets/TestSaveFiles/Huoshan1")
+CATALOG = Path("Assets/StreamingAssets/TestSaveFiles/catalog.json")
+
+YARN = "FP_Huoshan1"
+SCENE = "Scene/HuoShanFixScene"
+
+
+def sanitize(name: str) -> str:
+ bad = '<>:"/\\|?*'
+ for c in bad:
+ name = name.replace(c, "_")
+ name = name.replace(" ", "_")
+ if len(name) > 48:
+ name = name[:48]
+ return name or "no_node"
+
+
+def main() -> None:
+ by_node: dict[str, dict] = {}
+ for d in TESTSAVS.iterdir():
+ if not d.is_dir():
+ continue
+ meta_path = d / "meta.json"
+ snap_path = d / "snapshot.json"
+ if not snap_path.exists() or not meta_path.exists():
+ continue
+ meta = json.loads(meta_path.read_text(encoding="utf-8"))
+ if meta.get("yarnProjectId") != YARN:
+ continue
+ if meta.get("sceneName") != SCENE:
+ continue
+ node = meta.get("nodeName") or "no_node"
+ saved_at = meta.get("savedAt") or ""
+ prev = by_node.get(node)
+ if prev is None or saved_at >= prev["saved_at"]:
+ by_node[node] = {
+ "dir": d,
+ "node": node,
+ "saved_at": saved_at,
+ "so": meta.get("sceneSoName") or "",
+ }
+
+ if DEST.exists():
+ shutil.rmtree(DEST)
+ DEST.mkdir(parents=True, exist_ok=True)
+
+ ordered = sorted(by_node.values(), key=lambda x: (x["saved_at"], x["node"]))
+ print(f"unique nodes: {len(ordered)}")
+ for i, item in enumerate(ordered, start=1):
+ folder = f"{i:02d}_{sanitize(item['node'])}"
+ out = DEST / folder
+ out.mkdir(parents=True, exist_ok=True)
+ shutil.copy2(item["dir"] / "snapshot.json", out / "snapshot.json")
+ shutil.copy2(item["dir"] / "meta.json", out / "meta.json")
+ print(f"OK {folder} | {item['saved_at']} | so={item['so']} | node={item['node']}")
+
+ catalog = {
+ "sections": [
+ {"id": "Peipei1", "title": "Peipei 1"},
+ {"id": "Peipei2", "title": "Peipei 2"},
+ {"id": "Huoshan1", "title": "Huoshan 1"},
+ ]
+ }
+ CATALOG.write_text(json.dumps(catalog, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
+ print("done")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/Tools/promote_peipei_test_saves.py b/Tools/promote_peipei_test_saves.py
new file mode 100644
index 000000000..b64b67603
--- /dev/null
+++ b/Tools/promote_peipei_test_saves.py
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+"""Copy Peipei testsavs into StreamingAssets/TestSaveFiles with stable ASCII folder names."""
+from __future__ import annotations
+
+import json
+import shutil
+from pathlib import Path
+
+TESTSAVS = Path.home() / "AppData/LocalLow/Tin Bird/AllOurBrokenParts/AllOurBrokenParts/testsavs"
+DEST_ROOT = Path("Assets/StreamingAssets/TestSaveFiles")
+
+PEIPEI1 = [
+ ("01_Intro", "20260629_191732_683_"),
+ ("02_Enter_Room", "20260629_191737_198_"),
+ ("03_Body_UF", "20260629_191745_604_"),
+ ("04_UF_Deep", "20260629_191747_751_"),
+ ("05_Body_Vision", "20260629_191751_564_"),
+ ("06_Memory_Start", "20260629_191806_710_"),
+ ("07_Memory_Check", "20260629_191807_884_"),
+ ("08_Analysis", "20260629_191947_383_"),
+ ("09_Pre_Talk", "20260629_191953_429_"),
+ ("10_Surgery", "20260629_191957_937_"),
+ ("11_CutLine", "20260629_192000_426_"),
+ ("12_Recheck", "20260629_192000_744_"),
+ ("13_Recheck_Vision", "20260629_192002_368_"),
+ ("14_Ending_Talk", "20260629_192010_965_"),
+]
+
+PEIPEI2 = [
+ ("01_Start", "20260630_142906_700_"),
+ ("02_Intro", "20260630_142906_849_"),
+ ("03_First_Heat", "20260630_142915_334_"),
+ ("04_Heat_System", "20260630_142918_072_"),
+ ("05_Body_Check", "20260630_142921_707_"),
+ ("06_UF_Locked", "20260630_142923_878_"),
+ ("07_UF_Shell", "20260630_142928_045_"),
+ ("08_UF_Check", "20260630_142931_587_"),
+ ("09_Eye_View", "20260630_142938_533_"),
+ ("10_Analysis", "20260630_142956_453_"),
+ ("11_Pre_Talk", "20260630_143007_149_"),
+ ("12_Stop_Image", "20260630_143014_716_"),
+ ("13_Stop_Check", "20260630_143020_779_"),
+ ("14_Cool_Fail_Talk", "20260630_143042_615_"),
+ ("15_Remove_UF", "20260630_143043_024_"),
+ ("16_Pre_Talk_2", "20260630_143044_410_"),
+ ("17_Surgery", "20260630_143058_329_"),
+ ("18_Memory_Plugin", "20260630_143100_380_"),
+ ("19_Ending_Talk", "20260630_143118_278_"),
+]
+
+
+def find_dir(prefix: str) -> Path | None:
+ matches = sorted(p for p in TESTSAVS.iterdir() if p.is_dir() and p.name.startswith(prefix))
+ return matches[0] if matches else None
+
+
+def copy_section(section: str, entries: list[tuple[str, str]]) -> None:
+ section_dir = DEST_ROOT / section
+ if section_dir.exists():
+ shutil.rmtree(section_dir)
+ section_dir.mkdir(parents=True, exist_ok=True)
+
+ for folder, prefix in entries:
+ src = find_dir(prefix)
+ if src is None:
+ print(f"MISS {section}/{folder} prefix={prefix}")
+ continue
+ dest = section_dir / folder
+ dest.mkdir(parents=True, exist_ok=True)
+ for name in ("snapshot.json", "meta.json"):
+ src_file = src / name
+ if src_file.exists():
+ shutil.copy2(src_file, dest / name)
+ print(f"OK {section}/{folder} <- {src.name}")
+
+
+def main() -> None:
+ DEST_ROOT.mkdir(parents=True, exist_ok=True)
+ (DEST_ROOT / "Huoshan1").mkdir(parents=True, exist_ok=True)
+
+ catalog = {
+ "sections": [
+ {"id": "Peipei1", "title": "Peipei 1"},
+ {"id": "Peipei2", "title": "Peipei 2"},
+ {"id": "Huoshan1", "title": "Huoshan 1"},
+ ]
+ }
+ (DEST_ROOT / "catalog.json").write_text(
+ json.dumps(catalog, ensure_ascii=False, indent=2) + "\n",
+ encoding="utf-8",
+ )
+
+ copy_section("Peipei1", PEIPEI1)
+ copy_section("Peipei2", PEIPEI2)
+ print("done")
+
+
+if __name__ == "__main__":
+ main()