diff options
author | yzh <yaozihao5606@outlook.com> | 2024-02-14 22:39:35 +0800 |
---|---|---|
committer | yzh <yaozihao5606@outlook.com> | 2024-02-14 22:39:35 +0800 |
commit | 1d23b7c1be5101c8465d141b56363d4b424d6b91 (patch) | |
tree | 3b2bebeaa18871d47297083dd952751d9fcb7f08 /source/game/scripting | |
parent | 29dcec6afef07751b833ff9d4b85260daa359cad (diff) |
maybe fix the /run cmd
Diffstat (limited to 'source/game/scripting')
-rw-r--r-- | source/game/scripting/StarLuaRoot.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/game/scripting/StarLuaRoot.cpp b/source/game/scripting/StarLuaRoot.cpp index fc205c0..d79e8f4 100644 --- a/source/game/scripting/StarLuaRoot.cpp +++ b/source/game/scripting/StarLuaRoot.cpp @@ -106,9 +106,11 @@ LuaContext LuaRoot::createContext(StringList const& scriptPaths) { } }); - newContext.set("loadstring", m_luaEngine->createFunction([&newContext](String const& source, Maybe<String> const& name, Maybe<LuaValue> const& env) -> LuaFunction { + auto handleIndex = newContext.handleIndex(); + auto engine = m_luaEngine.get(); + newContext.set("loadstring", m_luaEngine->createFunction([engine,handleIndex](String const& source, Maybe<String> const& name, Maybe<LuaValue> const& env) -> LuaFunction { String functionName = name ? strf("loadstring: {}", *name) : "loadstring"; - return newContext.engine().createFunctionFromSource(newContext.handleIndex(), source.utf8Ptr(), source.utf8Size(), functionName.utf8Ptr()); + return engine->createFunctionFromSource(handleIndex, source.utf8Ptr(), source.utf8Size(), functionName.utf8Ptr()); })); auto assets = Root::singleton().assets(); |