[GUI] 编辑器下存入列表的是子类对象,实时运行时却发现是父类对象
未解决
50
楼主悬赏蛮牛币
  我有一个父类数据类型,它有好几个子类,我自定义了Inspector面板,通过按钮选择不同的类型往列表里面添加不同的子类对象。然后运行的时候,发现列表里全是父类对象。有大佬解惑下吗。
  下面是其中设置的代码
   
我来回答
刚刚测试了下,感觉应该是序列化和反序列化的问题,我将一个子类对象用父类的类型序列化,然后用父类的类型反序列化,类型就变成父类的了。我碰到的问题应该就是这样吧,但是这个该如何处理呢,在哪里能设置序列化和反序列化时的类型呢?
再套层壳子,在序列化的时候反射存对应的类型,解析的时候就按对应的类型解析
引用: sd1840888 发表于 2021-10-22 15:10
再套层壳子,在序列化的时候反射存对应的类型,解析的时候就按对应的类型解析 ...

unity编辑器下是它内部序列化的,不知道在哪里设置修改。你说的是自己写序列化那块的东西吗
貌似不行 子类序列化成父类应该是把属于父类的属性 拿出去了 其他的就抛弃了 ,反序列化也是一样的