-
Creator 版本:1.9.0
-
目标平台: 所有
-
编辑器操作系统 :Windows
- 在代码里面使用枚举类型时,我们一般的操作都是直接用枚举枚举名称的,在枚举定义的时候,可以随意修改,颠倒枚举的位置。但是如果枚举类型在编辑器里用到了,就必须非常小心。比如说:
- 保存之后,AnimalDog的动物类型应该序列化为0,AnimalFish为1. 假设(实际上也有这样的需求)Animal这个模块是个很通用的,任意人都可以在里面扩展自己的类型。如果有人在枚举值Dog前插入一条数据(比如说Duck),实际上也很难控制不这么做(颠倒枚举类型的顺序),就会导致以前所有用到Animal预设的地方都会在反序列化的时候类型错乱。如果我没理解错的话,这样使用枚举类型太危险了。
- 在代码里面使用枚举类型时,我们一般的操作都是直接用枚举枚举名称的,在枚举定义的时候,可以随意修改,颠倒枚举的位置。但是如果枚举类型在编辑器里用到了,就必须非常小心。比如说:
-
我现在的针对这种很公用,需要用到枚举的解决办法是:方案一:每个类型去指定值(弊端:枚举的值就不能随意修改了)。方案二:还是使用枚举,但是不序列化枚举值,序列化枚举值的key(弊端:1,麻烦,要转换几次。2,枚举的key不能随意修改,否则反序列化找不到了,但使用枚举,修改枚举key,所有用到这个key 的地方也是都要做修改的。)
所以我想请教一下,在编辑器使用枚举这块,目前有没有好的方法,或者以后能否优化一下。或者不使用枚举,有其它方法达到同样的效果吗。



