通过LuaInterface从C#访问Lua函数

时间:2012-12-28 17:04:04

标签: c# lua luainterface

我遇到LuaInterface从C#访问Lua函数的问题。

如果我有一个像这样定义的LuaFunction

function object:OnEvent()
  -- Do something
end

这可以通过像

这样的普通调用从C#访问
(object["OnEvent"] as LuaFunction).Call();

没有参数。但是如果你看一下Lua中函数的定义,我用“:”来定义函数。我可以像这样重写它,这是相同的:

function object.OnEvent(self)
  -- Do something
end

到目前为止,一切都很好。但现在,我用另一个函数替换了OnEvent。

function Replacement(self)
  -- Do something other
end

object.OnEvent = Replacement

现在我遇到了问题。在这种情况下,我不得不使用参数(for self)调用该函数。如果我不这样做,我会收到错误。

我可以用两件事来解决这个问题:

  1. 说LuaInterface,每次都应该用“:”调用方法 带有自我参数。
  2. 我可以从LuaInterface中找回来,怎么样 这个功能需要很多参数。
  3. 但是,如何做这件事呢?

    谢谢。

0 个答案:

没有答案