0

我正在使用 LuaInterface 库为我的游戏编写脚本引擎。尝试在 Lua 中实例化类时出现错误。错误是:

"./Scripts/sv_worldgen.lua:2: attempt to call global 'Campfire' (a string value)"

sv_worldgen.lua 在哪里(全部):

function GenerateChunk(worldChunk, chunkGridPosition)
    tf = Campfire()
    tf:SetPosition(chunkGridPosition)
end

Campfire是 C# 中的一个类,根据CLRPackage 示例,当然还有LuaInterface Reference,它似乎暴露给 lua 。我似乎无法解决这个错误,并且我已经尽职尽责地进行了搜索。我可以管理的脚本的唯一其他行为会引发类似的错误,但它在哪里"(a table value)"。我究竟做错了什么?先感谢您!

我试过明确地做Campfire._ctor(),但是_ctor()是一个字符串值。

4

1 回答 1

0

这是通过使用 CLRPackage 并使用它首先加载程序集来解决的。

//Lua
JASG = CLRPackage("JASG", "JASG")

然后,只有这样你才能将类名链接到实际的 C# 类使用(这必须在尝试在 Lua 中访问它之前完成):

//Lua
Campfire=JASG.Campfire;

然后可以通过以下方式进行正常实例化

//Lua
cf = Campfire()
于 2014-04-08T14:29:38.347 回答