--文件是自动生成,请勿手动修改.来自数据文件:RechargeAward local L_CompressMaxColumn = 5 local L_CompressData = { 95738137212354817,187007021307145,2992503993845318,2851872596382990,62637, --1,0,1,7_6200008,7_6200007,7_6520014,7_6200144,18888+,7000034_0_0_260_0_-162_0_-10_-70;7000035_1_0_280_0_-148_0_0_-56;7000036_2_0_260_0_-162_0_-10_-70;7000037_3_0_280_0_-148_0_0_-56,,,1117_1_1_0;1118_1_1_1;1186_1_1_2;1187_1_1_3;2003746_1_1_0;2003746_1_1_2;2003752_1_1_1;2003752_1_1_3,20002_1_1_9;21002_1_1_9;60002_10_1_9,1378_1_1_9_1;1117_1_1_0_2;1118_1_1_1_2;1186_1_1_2_2;1187_1_1_3_2;2003746_1_1_0_3;2003746_1_1_2_3;2003752_1_1_1_3;2003752_1_1_3_3,20002_1_1_9;21002_1_1_9;60002_10_1_9,1_2,10,0_14,,, 95738137212354562,187049970980105,2993053758047814,2851872596645138,62637, --2,0,0,7_6200008,7_6200007,7_6520014,7_6200144,限定款绝版时装,7000034_0_0_260_0_-162_0_-10_-70;7000035_1_0_280_0_-148_0_0_-56;7000036_2_0_260_0_-162_0_-10_-70;7000037_3_0_280_0_-148_0_0_-56,,,1115_1_1_0;1116_1_1_1;1184_1_1_2;1185_1_1_3;2000563_1_1_0;2000563_1_1_2;2002227_1_1_1;2002227_1_1_3,20003_1_1_9;21003_1_1_9;16196_5_1_9,1115_1_1_0_2;1116_1_1_1_2;1184_1_1_2_2;1185_1_1_3_2;2000563_1_1_0_3;2000563_1_1_2_3;2002227_1_1_1_3;2002227_1_1_3_3,20003_1_1_9;21003_1_1_9;16196_5_1_9,1_2,10,0_14,,, 95738137212354563,187084330718473,2993603522250310,2821726221587734,62637, --3,0,0,7_6200008,7_6200007,7_6520014,7_6200144,限定款时装武器,7000034_0_0_260_0_-162_0_-10_-70;7000035_1_0_280_0_-148_0_0_-56;7000036_2_0_260_0_-162_0_-10_-70;7000037_3_0_280_0_-148_0_0_-56,,,2002229_1_1_1;2002229_1_1_3;2000565_1_1_0;2000565_1_1_2;2000566_1_1_0;2000566_1_1_2;2002230_1_1_1;2002230_1_1_3,20004_1_1_9;21004_1_1_9;16197_5_1_9;30501_1_1_9,30501_1_1_9_4;2002229_1_1_1_3;2002229_1_1_3_3;2000565_1_1_0_3;2000565_1_1_2_3;2000566_1_1_0_3;2000566_1_1_2_3;2002230_1_1_1_3;2002230_1_1_3_3,20004_1_1_9;21004_1_1_9;16197_5_1_9,1,10,0_14,,, 95812905144047652,187141742744856,2994565609553921,4295032833,65536001, --4,1,600,2_2000004;2_2000004,2_2000005;2_2000005,2_2000004;2_2000004,2_2000005;2_2000005,激活快人一步,,,,2000002_1_1_0;2000003_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95834895712761893,187184692745501,2994565620039681,4295032833,65536001, --5,1,3000,5_9100101;5_9100101,5_9100102;5_9100102,5_9100101;5_9100101,5_9100102;5_9100102,绝版表情称号,,,,2000004_1_1_0;2000005_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95852488168112166,187219052746017,2994565628428289,4295032833,65536001, --6,1,6400,4_42100;4_42100,4_42200;4_42200,4_42100;4_42100,4_42200;4_42200,磨人妖精小器灵,,,,2000006_1_1_0;2000007_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95870080624230439,187253412746533,2994565636816897,4295032833,65536001, --7,1,12800,1_1;1_1,1_2;1_2,1_1;1_1,1_2;1_2,高阶金色项链,,,,2000008_1_1_0;2000009_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95870080628326440,187270592615717,2994565641011201,4295032833,65536001, --8,1,28800,1_1;1_1,1_2;1_2,1_1;1_1,1_2;1_2,炫酷飞龙坐骑,,,,2000010_1_1_0;2000011_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95870080638566441,187287772484901,2994565645205505,4295032833,65536001, --9,1,68800,1_1;1_1,1_2;1_2,1_1;1_1,1_2;1_2,传说凤凰羽翼,,,,2000012_1_1_0;2000013_1_1_1,20003_1_1;20004_1_1,,,,,,500,, 95738137212446794,187004302677255,2996993822184749,2908420138095919,62637, --10,2,360,7_6200008,7_6200007,7_6200008,7_6200007,18888+,6000030_9_0_350_0_-162_0_0_0,,,,1373_1_1_9;1365_1_1_9;17030_1_1_9;20003_1_1_9;21003_1_1_9;10001_10_1_9;10004_5_1_9,1373_1_1_9_1;1365_1_1_9_2;17030_1_1_9_2,20003_1_1_9;21003_1_1_9;10001_10_1_9;10004_5_1_9,1_2_5,10,0_14,,, } local L_MainKeyDic = { [1]=1,[2]=2,[3]=3,[4]=4,[5]=5,[6]=6,[7]=7,[8]=8,[9]=9,[10]=10,} local L_NamesByNum = { Id = 1, AwardType = 2, NeedRecharge = 3, Radio = 17, FightPower = 19, } local L_NamesByString = { Occ0 = 4, Occ1 = 5, Occ2 = 6, Occ3 = 7, RewardDes = 8, MainModel = 9, MainModelWeapon = 10, Model = 11, EquipAward = 12, ItemAward = 13, ShowBigItem = 14, ShowItem = 15, ShowEffect = 16, Chatchannel = 18, } local L_ColNameIndexs = { Id = 0, AwardType = 1, NeedRecharge = 2, Occ0 = 3, Occ1 = 4, Occ2 = 5, Occ3 = 6, RewardDes = 7, MainModel = 8, MainModelWeapon = 9, Model = 10, EquipAward = 11, ItemAward = 12, ShowBigItem = 13, ShowItem = 14, ShowEffect = 15, Radio = 16, Chatchannel = 17, FightPower = 18, } --local L_ColumnUseBitCount = {5,3,18,16,16,16,17,16,17,2,2,16,16,16,16,16,5,17,10,} --local L_ColumnList = {1,1,1,1,1,2,2,2,3,3,3,3,3,4,4,4,4,5,5,} --local L_ShiftDataList = {0,5,8,26,42,0,16,33,0,17,19,21,37,0,16,32,48,0,17,} --local L_AndDataList = {15,3,131071,32767,32767,32767,65535,32767,65535,1,1,32767,32767,32767,32767,32767,15,65535,511,} local L_ColumnShiftAndList = {1,0,15,1,5,3,1,8,131071,1,26,32767,1,42,32767,2,0,32767,2,16,65535,2,33,32767,3,0,65535,3,17,1,3,19,1,3,21,32767,3,37,32767,4,0,32767,4,16,32767,4,32,32767,4,48,15,5,0,65535,5,17,511,} local L_ColNum = 19; 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 - 1)*L_CompressMaxColumn+L_ColumnShiftAndList[startIndex + 1]] 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 = 10 } 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