各位老哥 你们做多角色是怎么做的 麻烦给点思路
我现在想的是玩家控制3个角色 每个角色都有自己的装备和数值,然后每个角色分别挂载装备和数值组件,但是一个unit好像满足不了,如果增加一个组件来挂载3个unit的话 那么unity里面包含的components要改嵌套反序列化逻辑
kyo8598 可以理解成英雄系统, unit下挂载一个英雄系统组件, 每个英雄再挂载独立的装备和数值; unit还是不要做成多个的好,不然的话你还要在上门加一层,麻烦.
milk_36 那就是heroComponent下面挂载hero,hero再add equipComponent add NumericComponent 这样就是child里面再添加component了 这样会导致传送的时候比较麻烦 再加一个child的component的传送 还有就是NumericComponent组件通知也要改下才行了 加上存库
这里如果装备组件用ISerializeToEntity 是可以序列化过去 但是蛋疼的一点就是存库的时候会跟着hero一起存 不会存单独表,还有一点蛋疼的就是NumericComponent 组件了 又想挂unit 又想挂hero 挂unit是ITransfer 挂hero是ISerializeToEntity
kyo8598 那可以吧装备组件挂到unit上面, hero那边通过id获取即可
milk_36 这个是可以 但是数值组件呢 有点蛋疼
kyo8598 数值组件也可以做成装备组件的样子
本来你的需求就是多对多了, 和之前的单个 unit 一个数值组件不一样.
unit
数值组件增加个 heroid 上面在嵌一个容器,这样就可以和hero那边对应上, 当然数值修改的事件也要增加 heroid 方便业务处理.
heroid
milk_36 那只能先改造一下数值组件改成MultiDictionary了
kyo8598 建议最好单拎出来一个 HeroNumericComponent 复制相关代码即可, 原来的数值组件可以保留
HeroNumericComponent
milk_36 好的 先这样搞一下了 谢了