- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一些后台 lua 代码,我在每次启动时加载它们,它们工作正常,但有什么方法可以将它们转换为 C# 吗?
这是我的元表代码:
player = {}
player.__index = player
function player:Add(name)
return setmetatable({name = name}, player)
end
function player:Nick()
return self.name
end
它工作正常,这是我的代码目前的工作方式:
print(ply:Nick())
目前,我在注册 lua 函数代码时使用 void 搜索 Player.cs 对象,我的 C# 代码上没有任何特殊的 void 或函数,上面有 Player 对象,但我想更改所有这些对象对于 Player 对象,还有什么方法可以在不注册的情况下使用 Player.cs voids/strings 或 lua 中的任何内容? Player.cs 对象是非静态的。
最佳答案
我发现 KopiLua 和 LuaInterface (Latest) 有元表,你必须返回的只是你的对象,你不能返回类或以任何方式将它们添加到 LuaInterface,但你可以返回可以做同样事情的对象或函数。从lua,人们可以使用对象函数。具有参数(甚至为空)的函数与 : 一起使用,而其他函数与点一起使用。这是示例:
// C#:
public List<string> testing()
{
return new List<string>()
{
{"Test"},
{"Another test"}
};
}
// Player object:
public int Health { get { return 1; } }
public int Hp() { return this.Health; }
// lua:
testing:Clear()
print(ply.Health)
print(ply:Hp())
ply.Health = 2
// You can not change a function style value like Hp(), So no way to change health this way except making a set function
关于c# - LuaInterface C# 元表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692931/
我发现我在 C#/Lua LuaInterface 项目中有严重的内存泄漏。我用 C# 编写了一个简单的测试函数,它每 0.5 秒从 Lua 循环调用一次。我可以看到 Lua 内存使用量随着每个循环而
我正在尝试使用 LuaInterface 加载 .net 程序集。如果我将程序集放在与我的可执行文件(以及我的 LuaInterface.dll 和 LuaNet.dll)相同的文件夹中,那么一切都很
我是 LuaInterface 的新手,有一个非常简单的问题:如何从 C# 访问多维 lua 表中的数据?我设法读取了字符串和整数值,但对表格并不幸运。我的目标是在(虚拟)GridView 中显示多维
我在 C# 中使用 LuaInterface,并且我“导出”了一些要在 Lua 中使用的自定义 C# 类。例如: local myVector = Vector2(10, 100) 但是,当我想像本例
我正在尝试使用 LuaInterface 将 Lua 脚本接口(interface)集成到我的 C# 项目中。 . 如果我执行语法正确的代码,它会按预期工作,但是一旦在脚本中引入语法错误(或任何其他错
我正在尝试将 LuaInterface 集成到 C# 中,但当我尝试将 C# 函数绑定(bind)到 Lua 时,出现了 System.NullReferenceException 。我尝试编译和运行
我一直在尝试使用 LuaInterface 将 Lua 集成到我的托管代码中。我正在使用我下载的程序集附带的 lua51.dll,但是当我尝试创建一个新的 Lua 对象时,构造函数失败并显示 ERRO
我有一些后台 lua 代码,我在每次启动时加载它们,它们工作正常,但有什么方法可以将它们转换为 C# 吗? 这是我的元表代码: player = {} player.__index = player
使用 NLua 运行 lua 脚本时如何调用函数? (一个 LuaInterface 分支)? 例如,现在我有: lua.LoadFile("C:\\test.lua") lua.Call(); 但是
我的 C# 代码中有一个字节数组,我需要将其传递给 LuaInterface 实例。我可以在 Lua 中使用 pack(),将生成的字符串传递给 C# 并使用 System.Text.Encoding
我正在使用 LuaInterface 将 LuaInterface 集成到 C# 程序中。我希望能够编写可以在程序中访问 C# 方法的脚本。 它访问的方法在单独的“子系统”中,我想让 Lua 方法定义
有没有人知道如何编写一个返回 LuaTable 值的 C# 函数(例如 {1 = "example1", 2 = 234, "foo"= "Foo Example"} ?我测试过的所有类型都返回非 p
我将 LuaInterface 导入到控制台项目中,引用它,并编写了一个小测试脚本。当我运行它时,我得到这个: Could not load file or assembly 'LuaInterfac
我正在尝试使用 LuaInterface 2.0.3 在我的 C# 应用程序中嵌入一些 Lua 脚本功能。到目前为止,这工作得很好,但我不知道如何限制对少数指定 .Net 类的访问。默认情况下,所有
我已将 LuaInterface 项目嵌入到使用 .NET Framework 4.0 以 C# 编写的应用程序中。编译 LuaInterface 和 Lua 5.1 后,我在我的应用程序中引用了它们
我有一个 Lua 模块 ( lpack ),我需要加载到 LuaInterface 中。我已经为该项目尝试了几种不同的配置,但我似乎无法弄清楚链接。 我收到错误 unresolved external
我想传递一个 WinForm 对象给 Lua,我的代码: //Form1.cs class Form1 { private System.Windows.Forms.TextBox textBox
当我尝试使用 LuaInterface 时在 Linux 上的 Mono 上(在 Ubuntu 9.04 上使用 Mono 2.0)我得到以下异常: ** (App.exe:8599): WARNIN
我正在尝试将 Lua 连接到我正在制作的 VB.net 游戏。现在,我已经阅读了足够多的内容,知道我可以像这里看到的那样自行连接每个函数: pLuaVM.RegisterFunction("quit"
因为我的游戏,我真的很想用 Mono-usable,似乎不能在 Linux 下运行,因为 LuaInterface 是个 SCSS (参见 the relevant SO thread 了解更多信息)
我是一名优秀的程序员,十分优秀!