From a633b47d5bfbd336b274358d84d0a4c43e509804 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Wed, 17 Jun 2026 12:49:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(save):=20=E5=BF=AB=E7=85=A7=E6=8D=95?= =?UTF-8?q?=E8=8E=B7=E5=A2=9E=E5=8A=A0=E7=AE=A1=E7=90=86=E5=99=A8=E5=8D=95?= =?UTF-8?q?=E4=BE=8B=E7=A9=BA=E5=80=BC=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SaveSystem/Providers/ActorSnapshotProvider.cs | 7 +++++++ .../SaveSystem/Providers/AudioSnapshotProvider.cs | 7 +++++++ .../SaveSystem/Providers/EnvironmentSnapshotProvider.cs | 7 +++++++ .../SaveSystem/Providers/TimelineSnapshotProvider.cs | 9 ++++++++- 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/SaveSystem/Providers/ActorSnapshotProvider.cs b/Assets/Scripts/SaveSystem/Providers/ActorSnapshotProvider.cs index 97b7d66c6..cfd8b0f49 100644 --- a/Assets/Scripts/SaveSystem/Providers/ActorSnapshotProvider.cs +++ b/Assets/Scripts/SaveSystem/Providers/ActorSnapshotProvider.cs @@ -1,4 +1,5 @@ using System.Collections; +using UnityEngine; namespace AibisDream.SaveSystem { @@ -13,6 +14,12 @@ namespace AibisDream.SaveSystem public object Capture() { + if (ActorManager.Instance == null) + { + Debug.LogWarning("[ActorSnapshotProvider] ActorManager 未初始化,跳过捕获。"); + return null; + } + return ActorManager.Instance.CaptureSnapshot(); } diff --git a/Assets/Scripts/SaveSystem/Providers/AudioSnapshotProvider.cs b/Assets/Scripts/SaveSystem/Providers/AudioSnapshotProvider.cs index 92a74ac04..984967e47 100644 --- a/Assets/Scripts/SaveSystem/Providers/AudioSnapshotProvider.cs +++ b/Assets/Scripts/SaveSystem/Providers/AudioSnapshotProvider.cs @@ -1,5 +1,6 @@ using System.Collections; using AibisDream.Kit; +using UnityEngine; namespace AibisDream.SaveSystem { @@ -14,6 +15,12 @@ namespace AibisDream.SaveSystem public object Capture() { + if (AudioManager.Instance == null) + { + Debug.LogWarning("[AudioSnapshotProvider] AudioManager 未初始化,跳过捕获。"); + return null; + } + return AudioManager.Instance.CaptureSnapshot(); } diff --git a/Assets/Scripts/SaveSystem/Providers/EnvironmentSnapshotProvider.cs b/Assets/Scripts/SaveSystem/Providers/EnvironmentSnapshotProvider.cs index ca84c6f3f..54ae7175f 100644 --- a/Assets/Scripts/SaveSystem/Providers/EnvironmentSnapshotProvider.cs +++ b/Assets/Scripts/SaveSystem/Providers/EnvironmentSnapshotProvider.cs @@ -1,4 +1,5 @@ using System.Collections; +using UnityEngine; namespace AibisDream.SaveSystem { @@ -13,6 +14,12 @@ namespace AibisDream.SaveSystem public object Capture() { + if (EnvironmentManager.Instance == null) + { + Debug.LogWarning("[EnvironmentSnapshotProvider] EnvironmentManager 未初始化,跳过捕获。"); + return null; + } + return EnvironmentManager.Instance.CaptureSnapshot(); } diff --git a/Assets/Scripts/SaveSystem/Providers/TimelineSnapshotProvider.cs b/Assets/Scripts/SaveSystem/Providers/TimelineSnapshotProvider.cs index b0ff05e04..c24e038ce 100644 --- a/Assets/Scripts/SaveSystem/Providers/TimelineSnapshotProvider.cs +++ b/Assets/Scripts/SaveSystem/Providers/TimelineSnapshotProvider.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using UnityEngine; namespace AibisDream.SaveSystem { @@ -13,6 +14,12 @@ namespace AibisDream.SaveSystem public object Capture() { + if (TimelineCenter.Instance == null) + { + Debug.LogWarning("[TimelineSnapshotProvider] TimelineCenter 未初始化,跳过捕获。"); + return null; + } + return TimelineCenter.Instance.CaptureSnapshot(); }