Files
Main/Assets/GameAssets/Resources/Lua/Config/Data/DataFunctionNotice.lua
2025-01-25 04:38:09 +08:00

162 lines
7.2 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--文件是自动生成,请勿手动修改.来自数据文件:FunctionNotice
local L_CompressMaxColumn = 4
local L_CompressData = {
149338679457129441,4282836623295904,6184752968564,1220000,
--1,仙盟福地,明日开启,n_chengzhangzhilu,2,1440,0,开服第二天开启玩法,须加入仙盟的玩家才可进入,4007714_1_0;4007715_1_0;4007719_1_0;4007720_1_0;4007721_1_0;4107714_1_1;4107715_1_1;4107719_1_1;4107720_1_1;4107721_1_1;4007714_1_2;4007715_1_2;4007719_1_2;4007720_1_2;4007721_1_2;4107714_1_3;4107715_1_3;4107719_1_3;4107720_1_3;4107721_1_3,tex_n_b_gongnengyugao_1,0,2880,1220000,,
178385577702610562,4283936518179498,15462637302660,1223000,
--2,福地论剑,今晚9点30开启,n_icon_zjm_xianmnegzhan,2,2730,0,玩法说明:开服天数达到2天的21点30开启活动前三仙盟成员可参与,70085_1_9;82220_1_9;60018_1_9;1028_1_9;8_1_9,tex_n_b_gongnengyugao_3,5760,7200,1223000,,
178387776662972611,4284211394513728,24739955405704,1273000,
--3,诸界远征,明日开启,n_icon_zjm_zhujieyuanzheng,2,2880,0,玩法说明:开服天数达到3天全天开放,4010721_1_0;4010720_1_0;4010719_1_0;4010715_1_0;4010714_1_0;4110721_1_1;4110720_1_1;4110719_1_1;4110715_1_1;4110714_1_1;4010721_1_2;4010720_1_2;4010719_1_2;4010715_1_2;4010714_1_2;4110721_1_3;4110720_1_3;4110719_1_3;4110715_1_1;4110714_1_3,tex_n_b_gongnengyugao_6,7200,11520,1273000,,
149220484977029348,4283111503302700,8955384361848,57000,
--4,仙盟战,今晚9点开启,n_xianmeng,2,4140,0,玩法说明:评级阶段20:00 ➨ 战斗阶段21:00 ➨ 结算阶段21:20,19007_1_9;19008_1_9;2000802_1_0;2000906_1_0;2002466_1_1;2002570_1_1;11_2000_9;2000802_1_2;2000906_1_2;2002466_1_3;2002570_1_3,tex_n_b_gongnengyugao_5,2880,4170,57000,,
149319989680432645,4283317663307212,12370072105851,1052000,
--5,巅峰竞技,第四天9点开启,n_paihangbang,2,5580,0,玩法说明:开服天数达到4天每周一,二,四,五21:00—21:30开放,7000049_1_9;7000050_1_9;7000051_1_9;7000052_1_9,tex_n_b_gongnengyugao_2,4320,5760,1052000,,
149357920912306054,4283592543311488,62335,1271000,
--6,神兽岛,明日开启,n_kuafu,2,5760,0,玩法说明:开服天数达到5天并且人物等级达到250级全天开放,3007301_1_9;3007302_1_9;3007303_1_9;3007304_1_9;3007305_1_9,tex_n_b_gongnengyugao_4,0,0,1271000,,
178387645651382567,4284538232518720,24739955405709,1273000,
--7,古魔入侵,开服11天后开启,n_icon_zjm_zhujieyuanzheng,2,14400,0,玩法说明:开服天数达到11天且当天为周一、周三、周五21:30开放,1343_1_9;1344_1_9;1345_1_9;1336_1_9;1337_1_9,tex_n_b_gongnengyugao_8,7200,11520,1273000,,
149357925662763112,4284829503340000,24739955405713,1273000,
--8,八极阵图,周一三五开启,n_kuafu,2,15840,0,玩法说明:完成4服跨服后周一、周三、周五时21:00开放,83095_1_9;83096_1_9;83088_1_9;83087_1_9;83086_1_9;,tex_n_b_gongnengyugao_7,7200,11520,1273000,,
178387776807268937,4285173098630848,24739955405718,1273000,
--9,诸界远征8服,开服15天后开启,n_icon_zjm_zhujieyuanzheng,2,20160,0,玩法说明:开服天数达到15天开启8服诸界远征全天开放,4016821_1_0;4016820_1_0;4016819_1_0;4016815_1_0;4016814_1_0;4116821_1_1;4116820_1_1;4116819_1_1;4116815_1_1;4116814_1_1;4016821_1_2;4016820_1_2;4016819_1_2;4016815_1_2;4016814_1_2;4116821_1_3;4116820_1_3;4116819_1_3;4116815_1_1;4116814_1_3,tex_n_b_gongnengyugao_9,7200,11520,1273000,,
149357921069985098,4285447983367936,24739955405722,1273000,
--10,荒古神坛,开服25天后开启,n_kuafu,2,34560,0,玩法说明:开服天数达到25天开启全天开放,8000186_1_9;8000410_1_9;8000634_1_9;8000858_1_9,tex_n_b_gongnengyugao_10,7200,11520,1273000,,
}
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,
OpenCondition = 5,
OpenParam = 6,
OpenParam2 = 7,
TipsStartTime = 11,
TipsEndTime = 12,
OpenFuncId = 13,
}
local L_NamesByString = {
Name = 2,
MainDesc = 3,
Icon = 4,
Desc = 8,
Award = 9,
BackTex = 10,
}
local L_ColNameIndexs = {
Id = 0,
Name = 1,
MainDesc = 2,
Icon = 3,
OpenCondition = 4,
OpenParam = 5,
OpenParam2 = 6,
Desc = 7,
Award = 8,
BackTex = 9,
TipsStartTime = 10,
TipsEndTime = 11,
OpenFuncId = 12,
}
--local L_ColumnUseBitCount = {5,17,17,17,3,17,2,17,17,17,14,15,22,}
--local L_ColumnList = {1,1,1,1,1,2,2,2,2,3,3,3,4,}
--local L_ShiftDataList = {0,5,22,39,56,0,17,19,36,0,17,31,0,}
--local L_AndDataList = {15,65535,65535,65535,3,65535,1,65535,65535,65535,8191,16383,2097151,}
local L_ColumnShiftAndList = {1,0,15,1,5,65535,1,22,65535,1,39,65535,1,56,3,2,0,65535,2,17,1,2,19,65535,2,36,65535,3,0,65535,3,17,8191,3,31,16383,4,0,2097151,}
local L_ColNum = 13;
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