diff options
Diffstat (limited to 'src/lua/core')
-rw-r--r-- | src/lua/core/luaopen_core.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/lua/core/luaopen_core.cpp b/src/lua/core/luaopen_core.cpp new file mode 100644 index 0000000..c8df1b6 --- /dev/null +++ b/src/lua/core/luaopen_core.cpp @@ -0,0 +1,43 @@ +#include "lua/luax.h" +#include "libjin/jin.h" + +namespace jin +{ +namespace lua +{ + using namespace jin::core; + + static int l_running(lua_State* L) + { + bool running = Game::get()->running(); + luax_pushboolean(L, running); + return 1; + } + + static int l_quit(lua_State* L) + { + Game::get()->quit(); + return 0; + } + + static int l_exit(lua_State* L) + { + Game::get()->exit(); + return 0; + } + + static const luaL_Reg f[] = { + {"running", l_running}, + {"quit", l_quit}, // for end game loop + {"exit", l_exit}, // for exit whole game + {0, 0} + }; + + int luaopen_core(lua_State* L) + { + luax_newlib(L, f); + + return 1; + } +} +}
\ No newline at end of file |