45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace ShrinkDataSaver
|
|
{
|
|
/// <summary>
|
|
/// 兼容旧用法:仍可把该组件挂到首场景中,
|
|
/// 但真正初始化已下沉到 ShrinkDataSaverRuntime,便于宿主层统一接管。
|
|
/// </summary>
|
|
[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
|
|
});
|
|
}
|
|
}
|
|
}
|