Skip to content
Snippets Groups Projects
Commit 7243ff56 authored by Joseph Walton-Rivers's avatar Joseph Walton-Rivers
Browse files

store pointer to state in lua

parent 22e55153
No related branches found
No related tags found
No related merge requests found
print("File has been loaded!")
\ No newline at end of file
print("File has been loaded!")
print(state);
\ No newline at end of file
......@@ -81,7 +81,9 @@ namespace demo {
m_phys = physService->create(&world(), entFactory);
auto* scriptProvider = m_owner.service<fggl::script::ScriptProvider>();
m_scripts = scriptProvider->create();
m_scripts->setGlobal("state", this);
// asset loader
auto* assetLoader = m_owner.service<fggl::assets::Loader>();
......
......@@ -40,6 +40,8 @@ namespace fggl::script {
// run code in engine
virtual bool run(const char* script) = 0;
virtual bool load(const char* filename) = 0;
virtual void setGlobal(const char* name, void* ptr) = 0;
};
class ScriptProvider {
......
......@@ -45,6 +45,9 @@ namespace fggl::script::lua {
bool run(const char* script) override;
bool load(const char* filename) override;
// variables
void setGlobal(const char* name, void* ptr) override;
private:
data::Storage* m_storage;
lua_State* m_state;
......
......@@ -95,4 +95,9 @@ namespace fggl::script::lua {
return true;
}
void LuaScriptEngine::setGlobal(const char *name, void *ptr) {
lua_pushlightuserdata(m_state, ptr);
lua_setglobal(m_state, name);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment