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文件