12 #include <luabind/luabind.hpp>
13 #include <lua_inclues/lua.hpp>
17 #include "../common_features/util.h"
57 inline bool isValid() {
return L !=
nullptr; }
61 void loadClassAPI(
const QString& nameInGlobal,
const QString& path);
73 QString getLuaScriptPath()
const;
74 void setLuaScriptPath(
const QString &luaScriptPath);
76 bool shouldShutdown()
const;
77 void setLateShutdown(
bool value);
79 void postLateShutdownError(luabind::error& error);
81 void runGarbageCollector();
83 QString getUserFile()
const;
84 void setUserFile(
const QString &userFile);
87 virtual void onBindAll() {}
88 void loadMultiRet(QFile *file);
90 lua_State* getNativeState() {
return L; }
95 QHash<QString, luabind::object > loadedFiles;
98 QString m_luaScriptPath;
99 std::function<void (
const QString & ,
const QString& )> m_errorReporterFunc;
106 extern void push_pcall_handler(lua_State* L);
107 extern int pcall_handler(lua_State* L);
109 #endif // LUAENGINE_H
void setErrorReporterFunc(const std::function< void(const QString &, const QString &)> &func)
The error reporter function.
Definition: lua_engine.cpp:356
void init()
Init a new lua engine. The lua engine must be in a invalid state.
Definition: lua_engine.cpp:53
luabind::object loadClassAPI(const QString &path)
Reads a lua class and returns the object.
Definition: lua_engine.cpp:174
This class should have basic functions for interacting with lua To run the lua engine you have to con...
Definition: lua_engine.h:27
void forceShutdown()
Shutdowns the lua engine directly.
Definition: lua_engine.cpp:162
bool isValid()
isValid Checks if the lua engine is valid
Definition: lua_engine.h:57
void dispatchEvent(LuaEvent &toDispatchEvent)
Dispatches a lua event.
Definition: lua_engine.cpp:230
void shutdown()
Shutdowns the lua engine and post a cleanup event.
Definition: lua_engine.cpp:148
Definition: lua_event.h:13
void setCoreFile(const QString &coreFile)
The core lua filename.
Definition: lua_engine.cpp:221
Scene * getBaseScene() const
The base-scene for the lua engine (may need for interacting with current scene)
Definition: lua_engine.cpp:351
QString coreFile() const
The core lua filename.
Definition: lua_engine.cpp:216