using UnityEngine; namespace ShrinkModFramework { [DefaultExecutionOrder(-2100)] public sealed class ShrinkModBootstrap : MonoBehaviour { [Header("Override (留空则只使用组件上的选项)")] [SerializeField] private ShrinkModFrameworkSettings settingsOverride; [Header("Bootstrap")] [SerializeField] private bool autoLoadOnAwake; private static bool _bootstrapped; private void Awake() { if (_bootstrapped) { Destroy(gameObject); return; } _bootstrapped = true; DontDestroyOnLoad(gameObject); var shouldAutoLoad = settingsOverride ? settingsOverride.autoLoadOnStartup : autoLoadOnAwake; if (shouldAutoLoad) ShrinkModLoader.LoadAll(settingsOverride); } } }