start.py执行export_pb_lua.excute(protoName)

调用protoc-gen-lua.bat并传入参数,

其实就是传入各种路径参数,以及 [第二步] 通过数据类型和数据名称构建的Table_XXX.proto 文件路径

lua版pb文件的输出路径等,最后ret如果为true代表生成成功。

最终输出路径我写的是Temp/PB_Lua,文件名为Table_xxx_pb.lua

这个lua文件就是可以直接在Unity工程中使用的lua版pb,在工具的最后只需要把Temp/PB_Lua文件夹的文件全部copy到工程中即可。

        cmd = "{}\protoc-gen-lua.bat {} {} {} {}\Table_{}.proto".format(
            os.path.abspath(setting.protocPath_lua),
            os.path.abspath(setting.dirPath_proto),
            os.path.abspath(setting.dirPath_protoEnum),
            os.path.abspath(setting.dirPath_pb_lua),
            os.path.abspath(setting.dirPath_proto),
            protoName)
 
        ret,msg = debug.system(cmd)
        if(not ret):
            debug.throwError("{}生成python版pb失败=>\n{}".format(protoName,msg))

目前来看,这些路径的传入顺序必须固定,例如proto路径以及想要输出lua版本pb的路径,想要修改的话去改protoc-gen-lua工具的源码

[游戏开发]Python打表工具系列[第五篇] [打表流程第三步]protoc-gen-lua.bat生成lua版pb文件