uLua热更新

热更新:在不对应用程序重新打包的情况下,对引用程序进行功能的更新/修改

条件:在运行时编译(JIT)---Lua;服务器:Lua代码、更新的资源
流程:
 1.游戏运行
 2.检查服务器版本是否更新
 3.通过对比服务器与本地文件的MD5值,判断文件是否更新,如果不一致,则删除本地文件,下载服务器文件进行使用(每一个不同的文件,都有一个属于自己的MD5值)
 4.解压更新包--对assetbundle的加载
 5.开始游戏


制作流程
1.将热更资源打AB包(预制体、依赖、Lua脚本)
2.打包的同时生成MD5值
3.上传到服务器

代码流程:
1、    GlobalGenerator.StarUp()
2、    SendMessageCommande执行StartUpCommand的Excute方法 
3、    添加Manager组件(GameManager) 
4、    GameManaer. OnResourceInited 初始化结束
5、    加载一次GameManager.lua脚本
6、    执行GameManager.lua中的LuaScriptPanel函数,得到两个panel的名称
7、    根据panel的名称加载view/xxxpanel.lua脚本,执行Awake函数
8、    执行GameManager.lua中的OnInitOk函数

DebugMode:
true :Lua脚本从工程中加载,资源文件从工程的StreamingAssets下加载
false:Lua脚本以及资源文件都从缓存目录中加载(c:/simpleframework/)

猜你喜欢

转载自blog.csdn.net/Star_MengMeng/article/details/123029158