using UnityEngine; namespace GameFramework { /// /// 持久化单例基类。跨场景保留(DontDestroyOnLoad),重复实例自动销毁。 /// 管理器(AudioManager / ScoreManager / GameManager / SceneLoader)都继承它。 /// public class PersistentSingleton : MonoBehaviour where T : Component { public static T Instance { get; private set; } protected virtual void Awake() { if (Instance == null) { Instance = this as T; } else if (Instance != this) { Destroy(gameObject); return; } DontDestroyOnLoad(gameObject); } } }