**
准备(前置条件):
Xlua相关文件已导入工程,已经能够进行patchfile热更修改
一、C#写一个 LuaWindow 基类
包含3个步骤:
1.读入lua文件:
public static bool LoadLuaScript(string windowName)
{
if(!mLuaWindowFileDic.ContainsKey(windowName))
{
if(!LoadXLuaFile("..."+".byte")) //读入xlua文件
return false;
mLuaWindowFileDic.Add(windowName, 1);
}
return true;
}
public static LoadXLuaFile(string LuaPath)
{
string luaScript = ReadFile(LuaPath); //这里省略把lua代码读入内存的实现
if(!string.IsNullOrEmpty(luaScript))
{
LuaEnv.DoString(luaScript, LuaPath); //Lua虚拟机执行代码
return true;
}
return false;
}
2.加载Lua新增的窗口及初始化函数
在入口处添加LuaWindow的初始化:
LuaWindow luaWnd = new LuaWindow();
luaWnd.InitLuaFunctions(para.windowName);
初始化函数实现:
public void InitLuaFunctions(string windowName)
{
object obj = XLuaEnv.Global.Get<object>(windowName);
LuaTable table = obj as LuaTable