1 Scriptable Object
通常不单独使用
通常在编辑器开发中用到(使用IMUI方式)
是数据的容器
和monoBehaviour(用于GameObject)平行存在,但是不能用于GameObject
实例化的scriptableObject可以和assets一样保存在project里
代替3方的数据格式,适应于大量数据,灵活装载
2个用途:editor session 存数据、runtime 存数据
使用scriptableobject:
1 constructor(注意,在deserialized之前)
2 deserialized(这里会覆盖之前的数据)
3 onenable(这里可以初始化数据)
可以使用attribute([CreateAssetMenu(fileName=”xxx”,menuName=”ooo”,order=111)])
或ScriptableObject.createinstance()来实例化
Mysoc myso = ScriptableObject.createinstance();
AssetDatabase…….
2 serialization
Unity需要在c++ core和script side来传数据(使用serialized data)
关于serialization,存储编码后数据,使用unity自己的方式。每次进入和退出play mode都要把serializable的数据通过c++存一遍再重新装载一遍