Unity 的ProtoBuff 相关批处理

孙广东  2015.9.25

批处理的好处就不说了。


ProtoBuff这里也不多说什么, 看最后面的介绍吧!

先看看批处理脚本

@echo off

:: 注: 这是放在Unity的Assets 下的文件
:: cd..是进入上一层目录 cd\是进入根目录

set unityDllPath=%cd%\Assets\Plugins\
cd PXProtocolProject
echo 进入路径: %cd% 
set protoSourcePath=%cd%\ProtoFile\
set protoImportsPath=%cd%

:: 进入这个目录
cd CSharpTool    
echo 进入路径: %cd%   
set protoBinPath=%cd%\ProtobinFile\
set csharpSourceOutputPath=%cd%\CSharpCode\
set csharpProjectPath=%cd%\ProtoDllGen\ProtoProject\ProtoFileToCSharpFile\
:: for %%i in (*.*) do echo %%i                                              

echo generateing csharp codes...
:: 生成C#代码,    for循环对每个文件进行操作
for %%i in (%protoSourcePath%*.*) do (
	%cd%\protoc.exe --descriptor_set_out=%protoBinPath%%%~ni.protobin --include_imports %%i --proto_path=%protoImportsPath%
	%cd%\protogen.exe %protoBinPath%%%~ni.protobin -output_directory=%csharpSourceOutputPath%
	 )

:: 将生成的C#文件 拷贝到 Dll工程内                   
echo copying csharp code file to project..
copy %csharpSourceOutputPath%*.cs %csharpProjectPath%

echo compile the c# dLL project..

set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727
call %msBuildDir%\msbuild.exe  %cd%\ProtoDllGen\ProtoProject\ProtoDllGen.csproj /t:Rebuild /p:Configuration=Release /p:VisualStudioVersion=14.0


:: 将编译的生成文件拷贝到 Unity项目中, 让Unity执行编译
echo copying the dLL to unity project..
copy %cd%\ProtoDllGen\ProtoProject\bin\Release\*.dll %unityDllPath%


pause

:: 孙广东 添加 :要求,这个直接放到unity项目中根目录下。 而这个ptoto项目要相对于Unity项目是平行的。即如下:XXXXX\px\.git  和  XXXXX\px\PXProDoc\.git        // unity项目要 忽略PXProDoc 这个文件夹
:: 然后拷贝 就方便了

看看运行结果:

在 Unity 中双击如下文件:



结果在 Untiy的 文件夹 下:

。。。。


废话不多说。  继续阅读



首先, Proto协议文件是 服务器和客户端所共享的。  服务器根据它生成对应的语言。   客户端根据它生成对应的语言(Unity中就是C#了)

所以可以想象的是:团队的项目中包括了:服务器project、客户端projectptotoBuff协议project(这些协议由服务器定义就行了, 然后)


ProtoBuf对于很多人而言并不陌生,应该也在很多项目中得以应用了。 那么现在我们就来看看,Unity中使用的具体步骤。

步骤1 :

Google 官方的Protobuf是不支持C#语言的,好在有很多开发者为ProtoBuf开发了支持C# (.net)的插件, 打开网址 http://code.google.com/p/protobuf-net/, 这是。net版本的主页。

步骤2

下载 protobuf-net_r668.zip, 将其解压, 然后将路径Full\unity内的所有文件复制到Unity工程目录内,这里建议复制到 Plugins目录内。

步骤3

使用任意文件编辑器创建第一个协议文件,本地将文件命名为 chatapp.proto

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值