--文件是自动生成,请勿手动修改.来自数据文件:Equip_Magic_synthesis local L_CompressMaxColumn = 1 local L_CompressData = { 47395548270466689, --10000001,幻装头盔-0阶-红0星-通用,,1389_10,, 47397747293722242, --10000002,幻装耳环-0阶-红0星-通用,,1390_10,, 47399946316977795, --10000003,幻装项链-0阶-红0星-通用,,1391_10,, 47402145340233348, --10000004,幻装衣服-0阶-红0星-通用,,1392_10,, 47404344363488901, --10000005,幻装裤子-0阶-红0星-通用,,1393_10,, 47406543386744454, --10000006,幻装武器-0阶-红0星-通用,,1394_10,, 47408742410000007, --10000007,幻装护腕-0阶-红0星-通用,,1395_10,, 47410941433255560, --10000008,幻装鞋子-0阶-红0星-通用,,1396_10,, 47413140456511113, --10000009,幻装戒指-0阶-红0星-通用,,1397_10,, 47415339479766666, --10000010,幻装手镯-0阶-红0星-通用,,1398_10,, 2924983391883, --10000011,幻装头盔-0阶-红1星-通用,10000001_3,,, 2924949837452, --10000012,幻装耳环-0阶-红1星-通用,10000002_3,,, 2924916283021, --10000013,幻装项链-0阶-红1星-通用,10000003_3,,, 2924882728590, --10000014,幻装衣服-0阶-红1星-通用,10000004_3,,, 2924849174159, --10000015,幻装裤子-0阶-红1星-通用,10000005_3,,, 2924815619728, --10000016,幻装武器-0阶-红1星-通用,10000006_3,,, 2924782065297, --10000017,幻装护腕-0阶-红1星-通用,10000007_3,,, 2924748510866, --10000018,幻装鞋子-0阶-红1星-通用,10000008_3,,, 2924714956435, --10000019,幻装戒指-0阶-红1星-通用,10000009_3,,, 2924681402004, --10000020,幻装手镯-0阶-红1星-通用,10000010_3,,, 2924647847573, --10000021,幻装头盔-0阶-红2星-通用,10000011_3,,, 2924614293142, --10000022,幻装耳环-0阶-红2星-通用,10000012_3,,, 2924580738711, --10000023,幻装项链-0阶-红2星-通用,10000013_3,,, 2924547184280, --10000024,幻装衣服-0阶-红2星-通用,10000014_3,,, 2924513629849, --10000025,幻装裤子-0阶-红2星-通用,10000015_3,,, 2924480075418, --10000026,幻装武器-0阶-红2星-通用,10000016_3,,, 2924446520987, --10000027,幻装护腕-0阶-红2星-通用,10000017_3,,, 2924412966556, --10000028,幻装鞋子-0阶-红2星-通用,10000018_3,,, 2924379412125, --10000029,幻装戒指-0阶-红2星-通用,10000019_3,,, 2924345857694, --10000030,幻装手镯-0阶-红2星-通用,10000020_3,,, 2924312303263, --10000031,幻装头盔-0阶-红3星-通用,10000021_3,,, 2924278748832, --10000032,幻装耳环-0阶-红3星-通用,10000022_3,,, 2924245194401, --10000033,幻装项链-0阶-红3星-通用,10000023_3,,, 2924211639970, --10000034,幻装衣服-0阶-红3星-通用,10000024_3,,, 2924178085539, --10000035,幻装裤子-0阶-红3星-通用,10000025_3,,, 2924144531108, --10000036,幻装武器-0阶-红3星-通用,10000026_3,,, 2924110976677, --10000037,幻装护腕-0阶-红3星-通用,10000027_3,,, 2924077422246, --10000038,幻装鞋子-0阶-红3星-通用,10000028_3,,, 2924043867815, --10000039,幻装戒指-0阶-红3星-通用,10000029_3,,, 2924010313384, --10000040,幻装手镯-0阶-红3星-通用,10000030_3,,, 47820684668737193, --10000041,幻装头盔-0阶-粉0星-通用,10000001_1,1380_3,, 47820684568073898, --10000042,幻装耳环-0阶-粉0星-通用,10000002_1,1380_3,, 47820684534519467, --10000043,幻装项链-0阶-粉0星-通用,10000003_1,1380_3,, 47820684500965036, --10000044,幻装衣服-0阶-粉0星-通用,10000004_1,1380_3,, 47820684467410605, --10000045,幻装裤子-0阶-粉0星-通用,10000005_1,1380_3,, 47820684433856174, --10000046,幻装武器-0阶-粉0星-通用,10000006_1,1380_3,, 47820684400301743, --10000047,幻装护腕-0阶-粉0星-通用,10000007_1,1380_3,, 47820684366747312, --10000048,幻装鞋子-0阶-粉0星-通用,10000008_1,1380_3,, 47486432798348977, --10000049,幻装戒指-0阶-粉0星-通用,10000009_1,1407_2,, 47482034684729010, --10000050,幻装手镯-0阶-粉0星-通用,10000010_1,1408_2,, 47820684198975155, --10000051,幻装头盔-0阶-粉1星-通用,10000011_1,1380_3,, 47820684165420724, --10000052,幻装耳环-0阶-粉1星-通用,10000012_1,1380_3,, 47820684131866293, --10000053,幻装项链-0阶-粉1星-通用,10000013_1,1380_3,, 47820684098311862, --10000054,幻装衣服-0阶-粉1星-通用,10000014_1,1380_3,, 47820684064757431, --10000055,幻装裤子-0阶-粉1星-通用,10000015_1,1380_3,, 47820684031203000, --10000056,幻装武器-0阶-粉1星-通用,10000016_1,1380_3,, 47820683997648569, --10000057,幻装护腕-0阶-粉1星-通用,10000017_1,1380_3,, 47820683964094138, --10000058,幻装鞋子-0阶-粉1星-通用,10000018_1,1380_3,, 47486432395695803, --10000059,幻装戒指-0阶-粉1星-通用,10000019_1,1407_2,, 47482034315630268, --10000060,幻装手镯-0阶-粉1星-通用,10000020_1,1408_2,, 47820683863430845, --10000061,幻装头盔-0阶-粉2星-通用,10000021_1,1380_3,, 47820683829876414, --10000062,幻装耳环-0阶-粉2星-通用,10000022_1,1380_3,, 47820683796321983, --10000063,幻装项链-0阶-粉2星-通用,10000023_1,1380_3,, 47820683762767552, --10000064,幻装衣服-0阶-粉2星-通用,10000024_1,1380_3,, 47820683729213121, --10000065,幻装裤子-0阶-粉2星-通用,10000025_1,1380_3,, 47820683695658690, --10000066,幻装武器-0阶-粉2星-通用,10000026_1,1380_3,, 47820683662104259, --10000067,幻装护腕-0阶-粉2星-通用,10000027_1,1380_3,, 47820683628549828, --10000068,幻装鞋子-0阶-粉2星-通用,10000028_1,1380_3,, 47486432060151493, --10000069,幻装戒指-0阶-粉2星-通用,10000029_1,1407_2,, 47482033980085958, --10000070,幻装手镯-0阶-粉2星-通用,10000030_1,1408_2,, 47820683527886535, --10000071,幻装头盔-0阶-粉3星-通用,10000031_1,1380_3,, 47820683494332104, --10000072,幻装耳环-0阶-粉3星-通用,10000032_1,1380_3,, 47820683460777673, --10000073,幻装项链-0阶-粉3星-通用,10000033_1,1380_3,, 47820683427223242, --10000074,幻装衣服-0阶-粉3星-通用,10000034_1,1380_3,, 47820683393668811, --10000075,幻装裤子-0阶-粉3星-通用,10000035_1,1380_3,, 47820683360114380, --10000076,幻装武器-0阶-粉3星-通用,10000036_1,1380_3,, 47820683326559949, --10000077,幻装护腕-0阶-粉3星-通用,10000037_1,1380_3,, 47820683293005518, --10000078,幻装鞋子-0阶-粉3星-通用,10000038_1,1380_3,, 47486431724607183, --10000079,幻装戒指-0阶-粉3星-通用,10000039_1,1407_2,, 47481855906715344, --10000080,幻装手镯-0阶-粉3星-通用,10000040_1,1408_2,, } local L_MainKeyDic = { [10000001]=1,[10000002]=2,[10000003]=3,[10000004]=4,[10000005]=5,[10000006]=6,[10000007]=7,[10000008]=8,[10000009]=9,[10000010]=10,[10000011]=11,[10000012]=12,[10000013]=13,[10000014]=14,[10000015]=15, [10000016]=16,[10000017]=17,[10000018]=18,[10000019]=19,[10000020]=20,[10000021]=21,[10000022]=22,[10000023]=23,[10000024]=24,[10000025]=25,[10000026]=26,[10000027]=27,[10000028]=28,[10000029]=29,[10000030]=30, [10000031]=31,[10000032]=32,[10000033]=33,[10000034]=34,[10000035]=35,[10000036]=36,[10000037]=37,[10000038]=38,[10000039]=39,[10000040]=40,[10000041]=41,[10000042]=42,[10000043]=43,[10000044]=44,[10000045]=45, [10000046]=46,[10000047]=47,[10000048]=48,[10000049]=49,[10000050]=50,[10000051]=51,[10000052]=52,[10000053]=53,[10000054]=54,[10000055]=55,[10000056]=56,[10000057]=57,[10000058]=58,[10000059]=59,[10000060]=60, [10000061]=61,[10000062]=62,[10000063]=63,[10000064]=64,[10000065]=65,[10000066]=66,[10000067]=67,[10000068]=68,[10000069]=69,[10000070]=70,[10000071]=71,[10000072]=72,[10000073]=73,[10000074]=74,[10000075]=75, [10000076]=76,[10000077]=77,[10000078]=78,[10000079]=79,[10000080]=80,} local L_NamesByNum = { Id = 1, } local L_NamesByString = { NeedEquip = 2, NeedItem = 3, } local L_ColNameIndexs = { Id = 0, NeedEquip = 1, NeedItem = 2, } --local L_ColumnUseBitCount = {25,16,16,} --local L_ColumnList = {1,1,1,} --local L_ShiftDataList = {0,25,41,} --local L_AndDataList = {16777215,32767,32767,} local L_ColumnShiftAndList = {1,0,16777215,1,25,32767,1,41,32767,} local L_ColNum = 3; local L_UseDataK = setmetatable({ },{ __mode = 'k'}); local L_UseDataV = setmetatable({ },{ __mode = 'v'}); local L_UseDataRow = setmetatable({ },{ __mode = 'v'}); local L_IsCache = false; local mt = {} local function GetData(row, column) local startIndex = (column - 1) * 3 local _compressData = L_CompressData[row] local _tempData = _compressData >> L_ColumnShiftAndList[startIndex + 2] local _data = _tempData & L_ColumnShiftAndList[startIndex + 3] local _andSign = L_ColumnShiftAndList[startIndex + 3] + 1 local _isMinus = (_andSign & _tempData) == _andSign return _isMinus and -_data or _data; end mt.__index = function (t,key) local _key = L_UseDataK[t]; local _row = L_MainKeyDic[_key]; local _column = L_NamesByNum[key]; if _column ~= nil then if L_IsCache then local _data = L_UseDataRow[_row * L_ColNum + _column] if not _data then _data = GetData(_row, _column) L_UseDataRow[_row * L_ColNum + _column] = _data end return _data else return GetData(_row, _column) end end _column = L_NamesByString[key] if _column ~= nil then return StringDefines[GetData(_row, _column)] end if string.find(key, '_') then local _newKey = string.gsub(key, '_', '') _column = L_NamesByString[_newKey] if _column ~= nil then return GetData(_row, _column) end end if key ~= '_OnCopyAfter_' then return end end local M = { _CompressData_ = L_CompressData, _ColumnShiftAndList_ = L_ColumnShiftAndList, _CompressMaxColumn_ = L_CompressMaxColumn, _ColumnNameIndexs_ = L_ColNameIndexs, Count = 80 } function M:Foreach(func) for i=1,M.Count do local _key = GetData(i, 1) func(_key, M[_key]) end end function M:ForeachCanBreak(func) for i = 1,M.Count do local _key = GetData(i, 1) if func(_key, M[_key]) then break end end end function M:GetByIndex(index) return M[GetData(index, 1)]; end function M:IsContainKey(key) return not(not L_MainKeyDic[key]); end function M:SetIsCache(isCh) L_IsCache = isCh; end setmetatable(M, {__index = function(t, key) if not L_MainKeyDic[key] then return; end local _t = L_UseDataV[key]; if not _t then _t = setmetatable({}, mt); L_UseDataV[key] = _t; L_UseDataK[_t] = key; end return _t end}) return M