--文件是自动生成,请勿手动修改.来自数据文件:marry_activity_task local L_CompressMaxColumn = 3 local L_CompressData = { 95398382672229,73088386189143432,44425, --101,1,[010101]永结同心[-],5,149_1_1,[010101]完成【永结同心】婚礼[-][752900]{0}/{1}[-],,60000,1,50001_5_1_9;12_888_1_9,, 95406972610918,73088386189143436,44425, --102,1,[010101]金玉良缘[-],5,149_2_1,[010101]完成【金玉良缘】婚礼[-][752900]{0}/{1}[-],,60000,1,50001_5_1_9;12_888_1_9,, 95413415064935,73088386189143439,44425, --103,1,[010101]神仙眷侣[-],5,149_3_1,[010101]完成【神仙眷侣】婚礼[-][752900]{0}/{1}[-],,60000,1,50001_5_1_9;12_888_1_9,, 66596331995496,107121707042647441,44425, --104,1,[010101]萍水相逢[-],5,86_1,[010101]拥有[-][752900]{0}/{1}[-][010101]个好友[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95424152488297,107121707042647441,44425, --105,1,[010101]合作无间[-],5,86_5,[010101]拥有[-][752900]{0}/{1}[-][010101]个好友[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95428447457642,107121707042647441,44425, --106,1,[010101]亲朋挚友[-],5,86_10,[010101]拥有[-][752900]{0}/{1}[-][010101]个好友[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95432742426987,107121707042647448,44425, --107,1,[010101]一面之缘[-],5,76_520,[010101]仙侣亲密度达到[-][752900]{0}/{1}[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95439184881004,107121707042647448,44425, --108,1,[010101]泛泛之交[-],5,76_1314,[010101]仙侣亲密度达到[-][752900]{0}/{1}[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95443479850349,107121707042647448,44425, --109,1,[010101]天作之合[-],5,76_3344,[010101]仙侣亲密度达到[-][752900]{0}/{1}[-],,2041000,1,50001_5_1_9;12_888_1_9,, 95447774819694,73103848071409055,44425, --110,1,[010101]两情相悦[-],5,79_1,[010101]为TA购买[-][752900]{0}/{1}[-][010101]次爱情宝匣[-],,60900,1,50001_5_1_9;12_888_1_9,, 35788531597679,73110720019082657,44425, --111,1,[010101]开枝散叶[-],5,80_1,[010101]激活[-][752900]{0}/{1}[-][010101]个仙娃[-],,61300,1,50001_5_1_9;12_888_1_9,, 95458512243056,73110720019082657,44425, --112,1,[010101]金玉满堂[-],5,80_2,[010101]激活[-][752900]{0}/{1}[-][010101]个仙娃[-],,61300,1,50001_5_1_9;12_888_1_9,, 95462807212401,73110720019082657,44425, --113,1,[010101]阖家欢乐[-],5,80_3,[010101]激活[-][752900]{0}/{1}[-][010101]个仙娃[-],,61300,1,50001_5_1_9;12_888_1_9,, 95467102181746,73107284045245864,44425, --114,1,[010101]与君相知[-],5,209_30304_1,[010101]激活【与君相知】称号[-][752900]{0}/{1}[-],,61100,1,50001_5_1_9;12_888_1_9,, 95473544635763,73107284045245867,44425, --115,1,[010101]鱼水之欢[-],5,209_30305_1,[010101]激活【鱼水之欢】称号[-][752900]{0}/{1}[-],,61100,1,50001_5_1_9;12_888_1_9,, 95479987089780,73107284045245870,44425, --116,1,[010101]相濡以沫[-],5,209_30306_1,[010101]激活【相濡以沫】称号[-][752900]{0}/{1}[-],,61100,1,50001_5_1_9;12_888_1_9,, 2147484789,864691134282989569,44464, --117,0,,,,,6600007_9_200_0_180_0_25_27,,12,16010_1_1_9,, } local L_MainKeyDic = { [101]=1,[102]=2,[103]=3,[104]=4,[105]=5,[106]=6,[107]=7,[108]=8,[109]=9,[110]=10,[111]=11,[112]=12,[113]=13,[114]=14,[115]=15, [116]=16,[117]=17,} local L_NamesByNum = { Id = 1, Type = 2, Sort = 4, RelationUI = 8, Rate = 9, } local L_NamesByString = { Name = 3, Condition = 5, Des = 6, Showmodel = 7, Reward = 10, } local L_ColNameIndexs = { Id = 0, Type = 1, Name = 2, Sort = 3, Condition = 4, Des = 5, Showmodel = 6, RelationUI = 7, Rate = 8, Reward = 9, } --local L_ColumnUseBitCount = {8,2,17,4,17,17,17,22,5,17,} --local L_ColumnList = {1,1,1,1,1,2,2,2,2,3,} --local L_ShiftDataList = {0,8,10,27,31,0,17,34,56,0,} --local L_AndDataList = {127,1,65535,7,65535,65535,65535,2097151,15,65535,} local L_ColumnShiftAndList = {1,0,127,1,8,1,1,10,65535,1,27,7,1,31,65535,2,0,65535,2,17,65535,2,34,2097151,2,56,15,3,0,65535,} local L_ColNum = 10; 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 = 17 } 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