从NLua获取函数列表
本文关键字:列表 函数 获取 NLua | 更新日期: 2023-09-27 17:50:35
我使用NLua与我的应用程序的脚本接口如果我的应用程序需要多个文件,比如一个。Lua和two.lua
我想把所有文件中的所有函数都放到一个lufunctions列表中
List<LuaFunctions> Functions;
NLua似乎没有这样的功能,但有没有办法绕过它,有一个GetFunction(string)方法它会返回你命名的函数,我可以在GetFunction方法上做一个蛮力方法,但这将使我的应用程序需要几个小时才能启动。
有什么方法可以解决这个问题,并将所有文件中的所有函数都转换为函数列表?
由于函数不能突然列出,我在几个小时后找到了另一种方法。
i列出了表中的所有函数。所以我的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();
例如。我花了一些时间才找到这个方法,我希望它能对一些人有益。