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 IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 基于Blazor实现的运输信息管理系统
· 如何统计不同电话号码的个数?—位图法
· 聊聊四种实时通信技术:长轮询、短轮询、WebSocket 和 SSE