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

154 lines
5.5 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.

--文件是自动生成,请勿手动修改.来自数据文件:ActivityNotice
local L_CompressMaxColumn = 3
local L_CompressData = {
113883749801032769,920848013644126,53601,
--1,仙盟福地,2,仙盟福地,1,207,0,0_120;480_1439,00:00-02:00#n08:00-24:00,tex_jrhd1,1.击杀福地boss可以获取圣装增加大量战力#n2.击杀boss获得的积分可以在福地商店兑换物品[-],,
113878779986582562,920899553603600,53604,
--2,仙盟战(包含首次和常规),1,仙盟战,1,110,0,1260_1280,21:00-21:20,tex_jrhd4,1.首次仙盟战由全服战斗力最高的12个仙盟获得资格战力越高评级越高#n2.天仙,金仙,神仙的评级由上周仙盟战结果决定,,
113857497439863907,920928473974354,53606,
--3,年兽封域,3,年兽封域,2,5,0,0,全天开放,tex_jrhd3,1.击杀首领或者采集水晶可获得神兽装备#n2.集齐神兽装备可激活神兽助战,,
113878781597424772,920985453594194,53609,
--4,仙盟首领,4,仙盟首领,1,111,0,0,12:00-12:10#n20:00-20:10,tex_jrhd8,1.仙盟的排名越靠前奖励越好#n2.必须对首领造成伤害才能获得个人奖励和仙盟拍品的分红资格。,,
113867774669542565,921036993594962,53612,
--5,天芒鬼城,5,天芒鬼城,1,102,0,0,20:30-21:00,tex_jrhd6,击败地图内的怪物或玩家可前进到下一层,每前进一层都可获得宠物升级材料,,
113878770859559110,921088533595730,53615,
--6,天道秘境,6,天道秘境,1,103,0,0,20:30-20:45,tex_jrhd5,玩家会被随机分为3个阵营;造成伤害、击败其他玩家可获得积分并可获得对应奖励,,
113874137664414951,921140073596498,53618,
--7,心境博弈,7,心境博弈,1,104,0,0,16:00-16:05,tex_jrhd9,趣味答题活动每次答案公布前5秒可改变答案所选答案为选择最少的则获得额外奖励,,
113874145179994376,921191613597266,53621,
--8,日暮篝火,8,日暮篝火,1,105,0,0,19:30-19:45,tex_jrhd7,挂机获得大量经验,同时可参加趣味划拳活动,和其他仙友一起喝个痛快吧!,,
113857498490650921,921243153598034,53624,
--9,巅峰竞技,9,巅峰竞技,2,4,0,0,21:00-21:30,tex_jrhd10,在线匹配1V1即时战斗。宠物装备、荣誉值主要产出途径。,,
}
local L_MainKeyDic = {
[1]=1,[2]=2,[3]=3,[4]=4,[5]=5,[6]=6,[7]=7,[8]=8,[9]=9,}
local L_NamesByNum = {
Id = 1,
Sort = 2,
Type = 4,
}
local L_NamesByString = {
Name = 3,
Value = 5,
WDay = 6,
Time = 7,
TimeDesc = 8,
Texture = 9,
ActivityDesc = 10,
}
local L_ColNameIndexs = {
Id = 0,
Sort = 1,
Name = 2,
Type = 3,
Value = 4,
WDay = 5,
Time = 6,
TimeDesc = 7,
Texture = 8,
ActivityDesc = 9,
}
--local L_ColumnUseBitCount = {5,5,16,3,17,12,17,17,17,17,}
--local L_ColumnList = {1,1,1,1,1,1,2,2,2,3,}
--local L_ShiftDataList = {0,5,10,26,29,46,0,17,34,0,}
--local L_AndDataList = {15,15,32767,3,65535,2047,65535,65535,65535,65535,}
local L_ColumnShiftAndList = {1,0,15,1,5,15,1,10,32767,1,26,3,1,29,65535,1,46,2047,2,0,65535,2,17,65535,2,34,65535,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 = 9
}
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