Unity3D ScriptableObject 一些坑

来源:互联网 发布:中国网络经纪人注册 编辑:程序博客网 时间:2024/05/14 16:07


一般在做编辑器的时候会给策划做一些脚本或者ScriptableObject,让策划进行或拽赋值等操作。举个例子假如开始策划说我只需要拖放一个GameObject,但是N天以后策划说这里想拖多个GameObject. 那么如果开始序列化的数据不是List<GameObject>那么就悲剧了,数据结构一变策划之前拖拽过的工作都玩白做了。。有些人为了做兼容不得不在写一个新的数据结构让策划来填写,但是这样就得是多个变量了,代码看起来比较丑了。

其实Unity也意识到这个问题了。他们提供了一个方案

FormerlySerializedAs(name)

这样可以把a1删除了,然后 a1序列化的数据就保存在a2里。但是它这个有局限性,比如这里我想把a1的数据放到一个新的对象里就不行了。比如这样

而且它这个只能替换相同数据结构,假如我想GameObject放到List<GameObject>里也不行了。


参考:

http://www.xuanyusong.com/archives/3823

0 0
原创粉丝点击