第一步:先搞清楚我们到底想干什么?
假设你的游戏已经上线了,玩家手机里装着你的游戏。
突然发现一个 bug:某个功能写错了。
正常修 bug 的流程:
改代码 → 重新打包 → 提交审核 → 玩家更新App这一套走下来,可能要好几天,玩家早跑光了。
我们想要的:
偷偷给玩家手机发一个小文件 → bug 就修好了 → 玩家啥都不用干这个"偷偷发小文件就能修 bug"的能力,就叫热更新(Hotfix)。
那个"小文件",就是用Lua 语言写的补丁。
第二步:核心难题在哪?
你的游戏代码是用C#写的,而且已经打包编译好了,装在玩家手机里,改不动了。
现在你想用一个Lua小文件去替换里面某个 C# 方法。
这就好比:
一栋楼已经盖好了,水泥都干了。现在你想换掉三楼的一个房间,但又不能拆楼重盖。怎么办?
答案是:盖楼的时候,就要提前在每个房间装一个"活动隔板"。
平时隔板收起来,房间正常用。
以