33 lines
881 B
C#
33 lines
881 B
C#
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);
|
|
}
|
|
}
|
|
}
|