287 lines
10 KiB
Lua
287 lines
10 KiB
Lua
--文件是自动生成,请勿手动修改.来自数据文件: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
|