用户输入到 NLUA 脚本

我最近在我的应用程序中添加了 NLUA 支持,目的是方便编辑功能。以下是一个简短的解释。

我正在制作一个简单的游戏,类似于 DarkSigns 和其他“黑客”模拟器。我想要允许脚本用于我自己和我的玩家。我决定使用 NLUA 来提供这个功能。基础应用是使用 WPF 和 caliburn.micro 编写的 c#。

因此,我有一个模拟控制台,它实际上是一个输入框和用于控制台输出的 listview,我有一个命令结构,允许输入和运行命令,包括“connect”命令来访问(游戏中的)IP 地址,这包括一个与脚本绑定的端口。因此,连接到1.2.3.4端口25将运行“port25.lua”脚本。

所有这些都很好,但我意识到我没有办法将输入指向这些脚本。任何调用io.read()的 LUA 都不会等待输入,因此失败。

所以我正在寻找如何解决这个问题,不幸的是,NLUA 文档似乎非常薄弱,我意识到这更复杂的原因是我没有使用一个实际的控制台,只是模拟一个控制台。

我的想法是否可能实现?如果是,我该如何将 NLUA 的 io.read() 重定向到我的文本框(如果可能)或者是否有其他解决方案?

或者换用另一种脚本添加会更好?

感谢您的时间。

点赞