From 6016ece202eef94ed76bd20d4f7879ccc71cc2e6 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 12 Mar 2019 23:08:31 +0800 Subject: *luax --- Source/3rdParty/Luax/luax_state.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'Source/3rdParty/Luax/luax_state.cpp') diff --git a/Source/3rdParty/Luax/luax_state.cpp b/Source/3rdParty/Luax/luax_state.cpp index a92d697..87c3bcd 100644 --- a/Source/3rdParty/Luax/luax_state.cpp +++ b/Source/3rdParty/Luax/luax_state.cpp @@ -11,6 +11,12 @@ namespace Luax assert(state); } + LuaxState::LuaxState(const LuaxState& state) + : L(state.mState) + { + assert(state.mState); + } + LuaxState::~LuaxState() { } @@ -35,6 +41,11 @@ namespace Luax return *L; } + lua_State* LuaxState::GetHandle() + { + return L; + } + void LuaxState::OpenLibs() { luaL_openlibs(L); @@ -72,8 +83,14 @@ namespace Luax int LuaxState::AbsIndex(int idx) { +/* +#define abs_index(L, i) ((i) > 0 || (i) <= LUA_REGISTRYINDEX ? (i) : \ + lua_gettop(L) + (i) + 1) +*/ if (idx < 0) { - return lua_gettop(L) + idx + 1; + //return lua_gettop(L) + idx + 1; + return ((idx) > 0 || (idx) <= LUA_REGISTRYINDEX ? (idx) : \ + lua_gettop(L) + (idx)+1); } return idx; } @@ -83,7 +100,7 @@ namespace Luax return 0; } - void LuaxState::Push() + void LuaxState::PushNil() { lua_pushnil(L); } @@ -153,6 +170,11 @@ namespace Luax lua_pop(L, n); } + void LuaxState::Settop(int idx) + { + lua_settop(L, idx); + } + bool LuaxState::IsNil(int idx) { return lua_isnil(L, idx); -- cgit v1.1-26-g67d0