Version:

Lua 环境 (高级)

默认情况下,O3DE 组件实体 Lua 环境是单个 Lua 环境(或 lua_State)。此环境绑定到 ComponentApplication 拥有的BehaviorContext。因此,它有权访问启动时反映的所有 API 操作。

添加其他 VMs

你可以使用 ScriptSystemBus (调用AddContextWithId,或者创建自己的实例并调用AddContext) 添加更多的 ScriptContext 实例。如果希望新上下文可用于调试,则必须使用 ScriptDebugAgentBus::RegisterContext注册它。

重用代码

Lua 提供了使用内置的 Lua require 函数从其他 Lua 文件加载和执行脚本的功能。请务必注意,此函数需要特殊的 path 格式。文件路径由句点而不是斜杠分隔,没有.lua文件扩展名,并且相对于 O3DE 资产目录。例如,如果您想使用 require函数为脚本提供项目 Scripts 目录中的一些常用功能,则可以使用类似于以下示例的代码。

local library = require("Scripts.MyLibraryFile")