单例模式,简单说就是类的实例在内存中只存在一份
为什么要使用单例模式
在我们的整个游戏生命周期当中,有很多对象从始至终有且只有一个。这个唯一的实例只需要生成一次,并且直到游戏结束才需要销毁。
单例模式一般应用于管理器类,或者是一些需要持久化存在的对象。
例如全局分数管理器什么的,需要全场存在,又只存在一个。
//==============================================
普通类:
public class GameFacade {
private static GameFacade _instance = new GameFacade();//内部实例化
public static GameFacade Instance{ get{return _instance;} }//提供调用方法
private GameFacade(){}//构造方法私有化(单例模式)
//===============================================
}
挂在u3d游戏物体上:
public class GameContrller : MonoBehaviour {//游戏管理器
public static GameContrller _instance;
private void Awake() {
_instance=this;//单例
}
}