因为经常需要一个唯一的变量来处理数据,实现脚本之间的交互等,这时如果全部都用静态变量来存储显然是不合适的
这时我们马上就会想到单例模式-
首先看一个普通的单例模式
public class GameData
{
private static GameData instance;
public static GameData getInstance
{
get
{
if(instance == null)
{
instance = new GameData();
}
return instance;
}
}
}
这个只要在类里定义好数据变量然后GameData.getInstance.xx就能轻松获得这个唯一的变量,这还是很好用的
接下来是第二种单例,
public class GameData : MonoBehaviour
{
public static GameData instace;
void Start()
{
instace = this;
}
}
但是有时候我们总会想在场景切换的时候保留上一个场景中的物体,该怎么办呢?
没错&#