仿照XLua的官方例子,我们做一个XLua的热更新
1.按照hotfix.md的使用说明
1、添加HOTFIX_ENABLE宏打开该特性(在Unity3D的File->Build Setting->Scripting Define Symbols下添加)。编辑器、各手机平台这个宏要分别设置!如果是自动化打包,要注意在代码里头用API设置的宏是不生效的,需要在编辑器设置。
(建议平时开发业务代码不打开HOTFIX_ENABLE,只在build手机版本或者要在编译器下开发补丁时打开HOTFIX_ENABLE)
2、执行XLua/Generate Code菜单。
3、注入,构建手机包这个步骤会在构建时自动进行,编辑器下开发补丁需要手动执行"XLua/Hotfix Inject In Editor"菜单。注入成功会打印“hotfix inject finish!”或者“had injected!”。
2.内嵌模式
默认通过小工具执行代码注入,也可以采用内嵌到编辑器的方式,定义INJECT_WITHOUT_TOOL宏即可。
3.代码实例
在C#代码中我们要将热更新的类添加特性[Hotfix]
这里我们要更改一个Update方法通过XLua的Hotfix
[Hotfix]
public class CSHotFix : MonoBehaviour {
void Start () {
LuaManager.Instance.luaEnv.DoString("require 'MyHotFix'", "MyHotFix.lua.tx