如果ShellHelper还没添加,请先阅读这篇文章:C#运行Terminal

编译安装 3.4 版本protobuf

猫大对这个版本的protobuf进行了优化和修改,请不要自行安装其他版本的protobuf

下载地址

git clone https://github.com/egametang/protobuf3-for-Unity-and-ILRuntime
cd protobuf3-for-Unity-and-ILRuntime/new/Protoc_3.4.0_src/cmake
cmake .

这时会报错,172行,找不到gmock目录,我们直接屏蔽掉这个逻辑

-w400

按照下面的输入顺序来install

cmake .
make
make install

来检验一下protobuf是不是真的已经安装好了

which protoc
/usr/local/bin/protoc

protoc.sh 工具编写

在ET/Unity目录下创建protoc.sh文件,写入如下内容

#!/bin/bash

protoc --csharp_out="./Assets/Scripts/Module/Message/" --proto_path="../Proto/" OuterMessage.proto
protoc --csharp_out="./Hotfix/Module/Message/" --proto_path="../Proto/" HotfixMessage.proto
echo finish

赋予执行权限

chmod +x protoc.sh

在Proto2CSEditor.cs文件中添加下面的代码

-w400

点击Tools下面的proto2cs执行成功后unity的console会输出如下内容

-w400

启动web资源服务器

这里的web资源服务器是用go写的,需要自行安装go环境:参考链接

需要创建一个进程持续做这件事,所以必须要启动Terminal来完成

在BuildHelper中添加如下代码

-w500

点击Tools下的web资源服务器后,Terminal已经在运行了,console也会输出这个window的ID

-w500

让我们来验证一下,在浏览器中输入 127.0.0.1:8080,我这里只打包了MacOS的包,所以只有一个,如果不知道Mac端如何运行ET可以参照我之前的文章:运行篇

如果需要写其他的工具,也可以参照上述用法,借助ShellHelper来实现,希望对你有所帮助


What doesn’t kill you makes you stronger.