Files
Main/Assets/GameAssets/Resources/Lua/Logic/TianJinLing/TianJinLingTaskData.lua

91 lines
2.2 KiB
Lua
Raw Permalink Normal View History

2025-01-25 04:38:09 +08:00
------------------------------------------------
-- 作者: 王圣
-- 日期: 2020-11-07
-- 文件: TianJinLingTaskData.lua
-- 模块: TianJinLingTaskData
-- 描述: 天禁令任务数据
------------------------------------------------
-- 引用
local TianJinLingTaskData = {
Cfg = nil,
Count = 0,
TCount = 0,
Des = nil,
IsAward = false,
ItemList = nil
}
function TianJinLingTaskData:New(cfg)
local _m = Utils.DeepCopy(self)
_m.Cfg = cfg
return _m
end
function TianJinLingTaskData:GetId()
return self.Cfg.Id
end
function TianJinLingTaskData:GetDes()
if self.Des == nil then
self.Des = self.Cfg.Desc
end
return self.Des
end
function TianJinLingTaskData:GetItemDatas()
if self.ItemList == nil then
self.ItemList = List:New()
local _lp = GameCenter.GameSceneSystem:GetLocalPlayer()
if _lp ~= nil then
local _playerOcc = _lp.IntOcc
local _strs = Utils.SplitStr(self.Cfg.Reward, ';')
for i = 1, #_strs do
local _list = Utils.SplitNumber(_strs[i], '_')
local _id = _list[1]
local _num = _list[2]
local _isBind = _list[3] == 1
local _occ = _list[4]
if _occ == _playerOcc or _occ == 9 then
local _data = {Id = _id, Num = _num, IsBind = _isBind}
self.ItemList:Add(_data)
end
end
end
end
return self.ItemList
end
function TianJinLingTaskData:GetTCount()
if self.TCount == 0 then
local _list = Utils.SplitNumber(self.Cfg.Condition, '_')
self.TCount = _list[#_list]
end
return self.TCount
end
function TianJinLingTaskData:GetState()
local _state = 0
if self.IsAward then
-- 已经领取
_state = 2
else
-- 没有领取
if self.Count >= self:GetTCount() then
_state = 0
else
_state = 1
end
end
return _state
end
function TianJinLingTaskData:GetOpenUIId()
return self.Cfg.OpenFunction
end
function TianJinLingTaskData:GetType()
return self.Cfg.Type
end
return TianJinLingTaskData