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