Skip to main content

LuaInterpreter

Full Lua interpreter implementation.

Desktop/VCV implementation using full Lua with complete enjin2 bindings. Provides all Lua features and comprehensive graphics API.


Namespace: enjin2

Header: include/enjin2/scripting/lua_interpreter.hpp

Public Methods

LuaInterpreter()

Constructor.


~LuaInterpreter() override

Destructor.


void setGraphics(IScriptGraphics *gfx)

Set graphics interface.

gfxGraphics interface to use


virtual bool initialize() override

Initialize the Lua interpreter.

True if initialization successful


virtual void shutdown() override

Shutdown the Lua interpreter.


virtual bool isInitialized() const override const

Check if interpreter is initialized.

True if initialized


virtual ScriptResult executeString(const std::string &code) override

Execute Lua code string.

codeLua code to execute Execution result


virtual ScriptResult executeFile(const std::string &filename) override

Execute Lua script file.

filenamePath to script file Execution result


virtual ScriptResult callFunction(const std::string &functionName) override

Call named Lua function.

functionNameName of function to call Execution result


virtual void setGlobal(const std::string &name, double value) override

Set global number variable.

nameVariable name valueNumber value to set


virtual void setGlobal(const std::string &name, const std::string &value) override

Set global string variable.

nameVariable name valueString value to set


virtual void setGlobal(const std::string &name, bool value) override

Set global boolean variable.

nameVariable name valueBoolean value to set


virtual double getGlobalNumber(const std::string &name, double defaultValue=0.0) override

Get global number variable.

nameVariable name defaultValueDefault value if not found Number value (or default if not found)


virtual std::string getGlobalString(const std::string &name, const std::string &defaultValue="") override

Get global string variable.

nameVariable name defaultValueDefault value if not found String value (or default if not found)


virtual bool getGlobalBool(const std::string &name, bool defaultValue=false) override

Get global boolean variable.

nameVariable name defaultValueDefault value if not found Boolean value (or default if not found)


virtual size_t getMemoryUsage() const override const

Get current memory usage.

Memory usage in bytes


virtual constchar * getTypeName() const override const

Get interpreter type name.

Type name string


LuaEngine * getLuaEngine()

Get access to underlying Lua engine (for advanced operations)

Lua engine reference


LuaBindings * getLuaBindings()

Get access to Lua bindings.

Lua bindings reference


Private Methods

ScriptResult convertResult(const LuaResult &luaResult)

Convert LuaResult to ScriptResult.

luaResultLua execution result Script execution result