问候。
我有个问题。在使用 Dllbind 时,这是否可以在 UnrealScript 中侦听来自本机 DLL 的事件?
问候。
我有个问题。在使用 Dllbind 时,这是否可以在 UnrealScript 中侦听来自本机 DLL 的事件?
不,这是不可能的。使用 DllBind,可以从 UnrealScript 调用 DLL,但反之则不行。没有从 DLL 调用 UnrealScript 的机制。
如果您获得 Unreal Engine 的许可,则可以使用 C++ 创建本机类。原生类能够调用 UnrealScript 事件。然而,即使是原生类也不应该随意调用脚本事件,尤其是当原生代码在不同的线程中运行时。来自本机代码的调用需要与引擎的执行同步,这通常通过在 Actor 的 Tick 中执行本机代码来实现。
因此,您的解决方案是在 Tick 或 Timer 中从 UnrealScript 查询 DLL。如果您的 DLL 在线程中执行异步代码,则您的 DLL 需要提供一种机制来对结果进行排队,以便脚本在请求时可以访问它们。