|
Toast Engine
|
Per-node Lua script execution environment. More...
#include <any>#include <atomic>#include <cstdint>#include <lua.hpp>#include <luabridge3/LuaBridge/LuaBridge.h>#include <memory>#include <optional>#include <set>#include <span>#include <string>#include <string_view>#include <toast/assets/script.hpp>#include <toast/export.hpp>#include <toast/reflect/reflect_node.hpp>#include <toast/scripting/lua_signal.hpp>#include <toast/scripting/node_proxy.hpp>#include <toast/scripting/script_context.hpp>#include <toast/scripting/script_schema.hpp>#include <toast/world/box.hpp>#include <unordered_map>#include <vector>
Go to the source code of this file.
Classes | |
| struct | scripting::ScriptBinding |
| Shared between a ScriptInstance and the closures installed in its self table; the closures never see a dangling instance. More... | |
| class | scripting::ScriptInstance |
| class | scripting::ScriptRuntime |
Functions | |
| auto | scripting::nodeOfSelfTable (const luabridge::LuaRef &table) -> NodeProxy |
| The node a script self table belongs to; empty when the table is not the self table of a live script instance. | |
Per-node Lua script execution environment.
Everything in here that touches Lua happens while the calling thread owns the interpreter the runtime lives on Calls that arrive while it is busy on another thread are queued in ScriptDispatch