画中人代码结构思路

最近对画中人的玩法设计基本上有了总体思路, 细节还在完善, 主要工作量目前是三个:

* 数值的完善
* 数值填充工具的完善
* 部分新系统的添加(随机事件)

由于对于游戏玩法本身我并不想完全抄一个已有的游戏,
所以在可预见的未来画中人的规则会有需要更改的地方, 在现有的代码框架中,
修改的代价不小, 因为我们的规则逻辑分散在各个模块中, 每次修改都可能引入新的bug.
因此我决定重构.

根据现在的需求, 我需要有一个可以很方便操作各种内部数据的工具,
方便我来调整游戏性,同时我需要系统的规则是可插拔的, 最好规则的插拔的地方很统一.

所以新的系统架构应该从 oo 转换为数据流.

采用 proto 作为中间数据定义, 系统被分为 ui, data, logic 三层,
其中 ui 负责在每一帧读取 data 并展示(当然有脏数据的设计),
同时 ui 会发出 event, logic 层接收到 event, 遍历现有规则, 修改 data.
data 层由 proto 定义.

数值工具则是 proto 中 message 的可视化定义
存档工具则是 proto 的 二进制序列化和加密