Получить список функций от NLua
Я использую NLua для интерфейса скрипта с моим приложением, если мое приложение принимает несколько файлов, таких как one.lua и two.lua
Я хочу получить все функции во всех файлах в список luafunctions
List<LuaFunctions> Functions;
NLua, похоже, не имеет такой возможности, но есть ли способ обойти это, есть метод GetFunction(string), который будет возвращать функцию, которую вы назвали, я могу, конечно, сделать метод грубой силы на метод GetFunction, но это сделает мой приложение займет несколько часов, чтобы начать с.
Любые способы обойти это и получить все функции во всех файлах в список luafunctions?
1 ответ
Поскольку функции не могут быть перечислены на ровном месте, я нашел другой способ обойти это пару часов спустя.
я перечислил все функции на столе. Итак, мой код Луа:
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();
В качестве примера. Мне потребовалось время, чтобы найти этот обходной путь, и я надеюсь, что это кому-нибудь пригодится.