This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user