我正在使用NLua与我的应用程序进行脚本接口 如果我的应用程序采用多个文件,如one.lua和two.lua
我希望将所有文件中的所有函数都添加到luafunctions列表中
List<LuaFunctions> Functions;
NLua似乎没有这样的功能,但它是否有办法, 有一个GetFunction(string)方法将返回你命名的函数, 我可以对GetFunction方法执行暴力破解方法,但这将使我的应用程序需要数小时才能启动。
有什么方法可以解决这个问题,并将所有文件中的所有函数都添加到luafunctions列表中?
答案 0 :(得分:1)
由于功能无法突出显示,我在几个小时后发现了另一种方式。
我列出了桌子上的所有功能。 所以我的lua代码:
function Start()
// something
end
function Update()
// something else
end
成了这个:
var main = {}
function main.Start()
// something
end
function main.Update()
// something else
end
这样我可以使用
从表格列表中获取它们lua.GetTable({tablename});
我写的要求必须与文件命名相同,因此它将成为:
var funcList = lua.GetTable(Path.GetFileNameWithoutExtension(c:\main.lua));
将采取并列出所有功能,然后我们可以使用:
lua.GetFunction(funcList[0]).Call();
作为一个例子。 花了一些时间来找到这个解决方案,我希望它会使某些人受益。