aboutsummaryrefslogtreecommitdiff
path: root/src/lua/core/luaopen_core.cpp
blob: c8df1b6cf983dc61bb19da323374a115a26c0ab2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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; 
    }
}
}