예제 #1
0
        public object getAsObject(LuaCore.lua_State luaState, int stackPos)
        {
            if (LuaLib.lua_type(luaState, stackPos) == LuaTypes.Table)
            {
                if (LuaLib.luaL_getmetafield(luaState, stackPos, "__index"))
                {
                    if (LuaLib.luaL_checkmetatable(luaState, -1))
                    {
                        LuaLib.lua_insert(luaState, stackPos);
                        LuaLib.lua_remove(luaState, stackPos + 1);
                    }
                    else
                    {
                        LuaLib.lua_settop(luaState, -2);
                    }
                }
            }

            object obj = translator.getObject(luaState, stackPos);

            return(obj);
        }