erlang 游戏开发框架之四 game_proto

477 阅读1分钟

简单说明

  1. 基于rebar3_gpb_plgin,根据游戏使用习惯做封装。
  2. 浏览本文,了解 es_proto 是干什么的,然后根据每个目录模块的职责去看代码,根据需要自己做扩展。

game_proto 项目 github地址

作用

把游戏前后端通信的 protobuf 协议转成 erlang 模块,用以对业务 protobuf 协议的封包和解包。

添加依赖

因为要经常改动,最好是用本地依赖,rebar.config 添加

{deps, [    {game_proto, {path, "../game_proto"}}   ]
}

如何使用

1.把protobuf 文件放入 proto 目录

2.终端跑 rebar3 compile 命令

3.对应的文件生成在 include 和 src/pb 目录,具体位置可在 rebar.config 进行配置

4.game项目加入 game_proto的依赖,用pb下的模块实现业务协议的解包和封包

主要目录

  1. proto 目录

    protobuf协议文件

  2. include 目录

    根据protobuf协议生成的 include 文件

  3. src/pb 目录

    根据protobuf协议生成的 erl 文件

  4. cmd_map.erl

    前后端指令映射,手动添加指令分发对应的处理函数,

  5. utils 目录

    map 和 record 相互转换的工具,以及一些别的工具类