为什么要使用单例模式
在 Unity 中使用单例模式(Singleton Pattern),主要是为了在整个项目中保证某个类只有一个实例,并提供全局访问点。
一个游戏中,音频管理器(AudioManager)、游戏管理器(GameManager)、UI管理器(UIManager)等,只需要一个实例,全局共享、统一控制。
using UnityEngine; public class GameManager : MonoBehaviour { public static GameManager Instance { get; private set; } void Awake() { if (Instance != null && Instance != this) { Destroy(gameObject); // 防止重复创建 return; } Instance = this; DontDestroyOnLoad(gameObject); // 跨场景不销毁 } }
使用方法
可以在任何地方通过 类名.Instance 访问该对象,无需频繁传参或查找引用。
GameManager.Instance.DoSomething();