using UnityEngine; namespace ShrinkDataSaver { /// /// 兼容旧用法:仍可把该组件挂到首场景中, /// 但真正初始化已下沉到 ShrinkDataSaverRuntime,便于宿主层统一接管。 /// [DefaultExecutionOrder(-2000)] public class ShrinkDataSaverBootstrap : MonoBehaviour { [Header("Override (留空使用 ScriptableObject 设置)")] [SerializeField] private ShrinkDataSaverSettings settingsOverride; [Header("Save Version")] [SerializeField] private int currentSaveVersion = 1; private static bool _initialized; private void Awake() { if (ShrinkDataSaverRuntime.IsInitialized) { Destroy(gameObject); return; } if (_initialized) { Destroy(gameObject); return; } _initialized = true; DontDestroyOnLoad(gameObject); ShrinkDataSaverRuntime.Initialize(new ShrinkDataSaverRuntimeConfig { SettingsOverride = settingsOverride, CurrentSaveVersion = currentSaveVersion, DontDestroyOnLoadDriver = true }); } } }