浅谈腾讯热更新开源框架xLua自定义Loader

前几个月腾讯开源了一套热更新、热补丁解决方案,托管在Github,点击进入

最近抽出时间学习下,研究了下官方文档,受益颇深


本文我来介绍xLua的自定义Loader

先介绍两种Lua文件加载方法

一.执行字符串方法

LuaEnv luaenv = new LuaEnv();
        luaenv.DoString("print('hello world')");

二.执行Lua文件方法

LuaEnv luaenv = new LuaEnv();
        luaenv.DoString("require ('byfile')");

其中byfile是文件名,存放在Resources文件下,以.lua.tex为后缀名


问题来了,require是怎样的执行过程?

实质上,require是一个个的调用Loader查找出匹配的Lua文件,然后执行该文件

在xLua中我们可以自定义添加Loader

public delegate byte[] CustomLoader(ref string filepath);
public void LuaEnv.AddLoader(CustomLoader loader)

通过AddLoader可以注册个回调,该回调参数是字符串,lua代码里头调用require时,参数将会透传给自定义回调函数和原生回调函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值