ECS开发模式示例

2020-11-03  本文已影响0人  卅云川

能量开发示例

最近开发遇到一个新需求:

英雄的能量运算独立开发,A类型的能量需要通过固定速度进行运算,B类型的能量需要根据游戏环境变量实时调整能量恢复速度。

变更前开发说明

之前开发时,需求是能量豆通过固定的速度进行运算,所以之前的结构是这样的:

Component:
    |-Power
System:
    |-PowerSystem

说明:

变更后开发说明

但是当需求变更后,原有结构便不再适合,就有了新的结构:

Component:
    |-Power
    |-PowerSpeed
System:
    |-PowerSpeedSystem
    |-PowerSystem

说明:

备注

实际开发时遇到的小例子,虽然很小,不过对于ECS作为开发模式来说,还是有一定说服力的。

我认为,在这种思想下进行开发时,需求的变更便是从数据层面进行变更,然后根据变更后的数据内容进行结构调整。所以需求的变更本质是Component、System的变更,如果架构中有Archetype的概念,那么同时也包括了Archetype的变更(例子中PowerSpeedSystem与PowerSystem所关注的Archetype较原有设计是发生了变更的)。

上一篇 下一篇

猜你喜欢

热点阅读