Unity热更新06-XLua热补丁-01 - 热补丁重要步骤
Lua代码
print("*********第一个热补丁***********")
--直接写好代码 运行 是会报错的
--我们必须做4个非常重要的操作
--1.加特性
--2.加宏 第一次开发热补丁需要加
--3.生成代码
--4.hotfix 注入 --注入时可能报错 提示你要引入Tools
--热补丁的缺点:只要我们修改了热补丁类的代码,我们就需要重新执行第4步!!!
--需要重新点击 注入
--lua当中 热补丁代码固定写法
--xlua.hotfix(类, "函数名", lua函数)
--成员函数 第一个参数 self
xlua.hotfix(CS.HotfixMain, "Add", function(self, a, b)
return a + b
end)
--静态函数 不用传第一个参数
xlua.hotfix(CS.HotfixMain, "Speak", function(a)
print(a)
end)
C#代码
[Hotfix]
public class HotfixMain : MonoBehaviour {
private void Start() {
DSLuaMgr.Instance.DoLuaFile("Main");
Debug.Log(Add(15, 25));
Speak("你好中国");
}
public int Add(int a, int b) { return 0; }
public static void Speak(string str) { Debug.Log("UnitySir"); }
}
1.加特性
在需要热补丁的C#代码上添加 [Hotfix] 特性即可
2. 加宏(第一次需要添加)
第一次打热补丁的操作:
File -> Build Setting -> Player Setting -> 在Player中找到 Scripting Define Symbols 添加 宏:HOTFIX_ENABLE
等待编译结束,即可看到如下:
3. 在XLua中生成代码
4. lua代码中hotfix注入
通过以下操作将热补丁注入到编辑器
但出现如下错误:提示安装 Tools
原因是我们只导入了 XLua和Plugins 文件夹,我们只需要将 官方的XLua目录下的Tools导入即可(Tools目录和Assets目录在同一个层级)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步