Ejemplo n.º 1
0
        public object getAsObject(IntPtr luaState, int stackPos)
        {
            if (LuaAPI.lua_type(luaState, stackPos) == LuaTypes.LUA_TTABLE)
            {
                if (LuaTypes.LUA_TNIL != LuaAPI.luaL_getmetafield(luaState, stackPos, "__index"))
                {
                    if (LuaAPI.luaL_checkmetatable(luaState, -1))
                    {
                        LuaAPI.lua_insert(luaState, stackPos);
                        LuaAPI.lua_remove(luaState, stackPos + 1);
                    }
                    else
                    {
                        LuaAPI.lua_settop(luaState, -2);
                    }
                }
            }
            object obj = translator.getObject(luaState, stackPos);

            return(obj);
        }