- 把想要实现单例的 MonoBahaviour 脚本继承MonoBehaviourSingleton
public class ExampleInstance : MonoBehaviourSingleton<ExampleInstance>
- 之后只需要在其他代码中调用
ExampleInstance.Instance
即可
- 单例对象生命周期开始时会对instance赋值,如果已经存在另一个instance,则会直接Destroy这个多余的实例
- 由于此操作需要在
Awake()
中完成,因此单独开放一个OnAwake()
的虚方法用于子类继承 - 使用此版本可以保证当前游戏中永远只有一个实例
- 相比于前一个版本,此版本在没有instance的情况下会自动创建一个新的instance
- 优点是不会占用子类中的
Awake()
方法 - 缺点是无法保证场景中只有一个instance