框架无缝对接Tolua实现ab加载的方法

源码地址:https://gitee.com/warthGod/GameFrameworkForTolua.git

1. 目的:编辑的便利性,减少build的步骤,lua文件自加载

编辑窗口依然是lua文件

 

2. 启动build时,无需要做额外工作:

3. 这种方式不利于热更新,而且常驻内存了。

4. 真正的热更新是由lua去告知程序加载那些lua脚本

 

 

解决方法:

1.  AssetBundleEditor.xml 添加lua识别

2.  像常规添加方法加入lua

3.  修改AssetBundleBuilderController.cs 代码。GetBuildMap()方法中添加代码片段:

4.  干掉 ProcedureLoadLuaScripts.csPreloadLuaScriptsInfos的调用

5.干掉ProcedureLoadLuaScripts.cs中的          

            //for(int i = 0; i < PreloadLuaScriptsInfos.Length; ++i)

            //{

            //    var info = PreloadLuaScriptsInfos[i];

            //    m_LoadFlags.Add(info.FileName);

            //    luaComp.LoadFile(info.AssetPathPrefix +info.FileName, info.FileName,             OnLoadLuaScriptSuccess,OnLoadLuaScriptFailure);

            //}

 

5.  也就是关键部分:CustomLuaLoader.cs代码修改

第一部分是判断是tolua核心部分就去调用tolua'自身的加载机制,第二部分是加载assetbunld部分。

 

6.    ResourceManager.cs添加非异步加载机制

 

 

测试结果:

Lua文件结构:

QQ交流群:162136059

你可能感兴趣的:(unity,c#)