using System.Collections; using AibisDream.Kit; namespace AibisDream.SaveSystem { /// /// sections["audio"]:FMOD 音乐/SFX 实例路径与 AMB 状态终态(AudioManager)。 /// 不记录播放进度,读档后按路径重新 CreateInstance 并 start。 /// public class AudioSnapshotProvider : ISnapshotProvider { public string SaveId => SnapshotProviderIds.Audio; public int RestoreOrder => 50; public object Capture() { return AudioManager.Instance.CaptureSnapshot(); } public IEnumerator Restore(object dto) { if (dto is not AudioSnapshotDto audio) { yield break; } yield return AudioManager.Instance.RestoreSnapshot(audio); } } }