我最近在我的应用程序中添加了 NLUA 支持,目的是允许轻松编辑功能。也许是一个快速的解释。
我正在制作一个简单的游戏,采用 DarkSigns 和其他“黑客”模拟器的风格。我想允许我自己和我的玩家都可以使用脚本。我决定使用 NLUA 来提供这个。基本应用程序是使用 WPF 和 caliburn.micro 用 c# 编写的。
所以我有一个模拟控制台,它实际上是一个用于输入的文本框和一个用于控制台输出的列表视图,我有一个命令结构,允许输入和运行命令,包括访问(游戏)IP 的“连接”命令地址,这包括一个绑定到脚本的端口。所以连接到 1.2.3.4 的 25 端口将运行“port25.lua”脚本。
一切正常,但是我意识到我无法将输入直接输入这些脚本,任何调用的 LUAio.read()
实际上都不会等待输入,因此会失败。
所以我正在研究如何解决这个问题,不幸的是,NLUA 文档似乎很薄,我知道这会因为我没有使用实际的控制台而只是模拟一个而变得更加复杂。
我想要的东西可能吗?如果是这样,我如何将 NLUA 重定向io.read()
到我的文本框(如果可能)或者是否有其他解决方案?
还是从 NLUA 转移到另一个脚本添加是更好的解决方案?
谢谢你的时间。