Ejemplo n.º 1
0
        public object GetAsObject(LuaState luaState, int stackPos)
        {
            if (LuaLib.LuaType(luaState, stackPos) == LuaTypes.Table)
            {
                if (LuaLib.LuaLGetMetafield(luaState, stackPos, "__index"))
                {
                    if (LuaLib.LuaLCheckMetatable(luaState, -1))
                    {
                        LuaLib.LuaInsert(luaState, stackPos);
                        LuaLib.LuaRemove(luaState, stackPos + 1);
                    }
                    else
                    {
                        LuaLib.LuaSetTop(luaState, -2);
                    }
                }
            }

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

            return(obj);
        }