EGameThreadMethod

EGameThreadMethod

EGameThreadMethod 是一个枚举,用于指定游戏线程执行时使用哪种钩子。

值

键 说明
ProcessEvent 通过 ProcessEvent 钩子执行。调用频率较高(每帧多次)。
EngineTick 通过 EngineTick 钩子执行。每帧调用一次。

用法

-- Check availability before using a specific method
if EngineTickAvailable then
    ExecuteInGameThread(function()
        print("Runs once per frame\n")
    end, EGameThreadMethod.EngineTick)
end

if ProcessEventAvailable then
    ExecuteInGameThread(function()
        print("Runs via ProcessEvent\n")
    end, EGameThreadMethod.ProcessEvent)
end

相关全局变量

  • EngineTickAvailable - 布尔值;EngineTick 钩子可用时为 true
  • ProcessEventAvailable - 布尔值;ProcessEvent 钩子可用时为 true

注意事项

  • 如果两种方法都不可用,游戏线程执行函数会抛出错误。
  • 可以通过 UE4SS-settings.ini 中的 DefaultGameThreadExecutionMethod 配置默认方法。
  • 请求的方法不可用时,函数会回退到另一种可用方法。
  • ProcessEvent 通常更可靠,但触发非常频繁。
  • EngineTick 更适合与帧同步的操作,并且是基于帧的延迟所必需的。

另请参阅


原文:docs/lua-api/table-definitions/egamethreadmethod.md · 固定提交 560411f18512 · 来源与 MIT 许可