From a89d5f53fd51d4f7c95e6f32a3b1222f23a9cc35 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Thu, 23 Apr 2015 22:20:31 +0200 Subject: Refactored ManualBindings' callbacks using templates. This is a bit easier to read, has better error reporting and fixes a few subtle bugs. Fixes #1889. --- src/Bindings/LuaState.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/Bindings/LuaState.cpp') diff --git a/src/Bindings/LuaState.cpp b/src/Bindings/LuaState.cpp index 468e54f32..38e008b2a 100644 --- a/src/Bindings/LuaState.cpp +++ b/src/Bindings/LuaState.cpp @@ -1013,6 +1013,24 @@ void cLuaState::GetStackValue(int a_StackPos, pBoundingBox & a_ReturnedVal) +void cLuaState::GetStackValue(int a_StackPos, pMapManager & a_ReturnedVal) +{ + if (lua_isnil(m_LuaState, a_StackPos)) + { + a_ReturnedVal = nullptr; + return; + } + tolua_Error err; + if (tolua_isusertype(m_LuaState, a_StackPos, "cMapManager", false, &err)) + { + a_ReturnedVal = *(reinterpret_cast(lua_touserdata(m_LuaState, a_StackPos))); + } +} + + + + + void cLuaState::GetStackValue(int a_StackPos, pPluginManager & a_ReturnedVal) { if (lua_isnil(m_LuaState, a_StackPos)) -- cgit v1.2.3