148 lines
4.4 KiB
Lua
148 lines
4.4 KiB
Lua
local CollectionData = class("CollectionData", BaseData)
|
|
|
|
function CollectionData:ctor()
|
|
self.data.dirtyHero = false
|
|
end
|
|
|
|
function CollectionData:clear()
|
|
end
|
|
|
|
function CollectionData:init(data)
|
|
data = data or GConst.EMPTY_TABLE
|
|
|
|
self:initCollectHero(data.hero)
|
|
end
|
|
|
|
-- 初始化英雄图鉴数据
|
|
function CollectionData:initCollectHero(data)
|
|
if data == nil then
|
|
return
|
|
end
|
|
|
|
if EDITOR_MODE then
|
|
Logger.logHighlight("更新英雄图鉴数据")
|
|
Logger.printTable(data)
|
|
end
|
|
|
|
self:initAllDataClass()
|
|
self.datas[GConst.CollectionConst.TYPE.HERO] = data
|
|
self.dataCollects[GConst.CollectionConst.TYPE.HERO]:init(data)
|
|
self:setDirty(GConst.CollectionConst.TYPE.HERO)
|
|
end
|
|
|
|
-- 初始化所有图鉴数据类
|
|
function CollectionData:initAllDataClass()
|
|
if self.dataCollects == nil then
|
|
self.dataCollects = {}
|
|
self.dataCollects[GConst.CollectionConst.TYPE.HERO] = require "app/userdata/collection/collection_hero_entity":create()
|
|
end
|
|
if self.datas == nil then
|
|
self.datas = {}
|
|
end
|
|
end
|
|
|
|
function CollectionData:setDirty(collectionType)
|
|
if collectionType == GConst.CollectionConst.TYPE.HERO then
|
|
self.data.dirtyHero = not self.data.dirtyHero
|
|
end
|
|
end
|
|
|
|
function CollectionData:isOpen(collectionType)
|
|
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.COLLECT, true) then
|
|
return false
|
|
end
|
|
if collectionType and (not self.datas or not self.datas[collectionType]) then
|
|
return false
|
|
end
|
|
return true
|
|
end
|
|
|
|
function CollectionData:getCollectEntity(collectionType)
|
|
return self.dataCollects[collectionType]
|
|
end
|
|
|
|
-- 是否有红点
|
|
function CollectionData:hasRedPoint(collectionType)
|
|
return self.dataCollects[collectionType]:hasRedPoint()
|
|
end
|
|
|
|
-- 获取当前收集值
|
|
function CollectionData:getCurCollectPoint(collectionType)
|
|
return self.dataCollects[collectionType]:getCurCollectPoint()
|
|
end
|
|
|
|
-- 获取当前已领取奖励图鉴等级
|
|
function CollectionData:getCurCollectLevel(collectionType)
|
|
return self.dataCollects[collectionType]:getCurCollectLevel()
|
|
end
|
|
|
|
-- 获取总收集值
|
|
function CollectionData:getTotalCollectPoint(collectionType)
|
|
return self.dataCollects[collectionType]:getTotalCollectPoint()
|
|
end
|
|
|
|
-- 获取收集目标列表
|
|
function CollectionData:getCollectList(collectionType)
|
|
return self.dataCollects[collectionType]:getCollectList()
|
|
end
|
|
|
|
-- 获取收集奖励列表
|
|
function CollectionData:getRewardList(collectionType)
|
|
return self.dataCollects[collectionType]:getRewardList()
|
|
end
|
|
|
|
-- 获取当前所在档位id
|
|
function CollectionData:getCurTargetId(collectionType)
|
|
return self.dataCollects[collectionType]:getCurTargetId()
|
|
end
|
|
|
|
-- 获取奖励档位收集进度
|
|
function CollectionData:getRewardTargetProgress(collectionType, id)
|
|
return self.dataCollects[collectionType]:getRewardTargetProgress(id)
|
|
end
|
|
|
|
-- 获取当前可领奖or正在进行中的目标
|
|
function CollectionData:getCanGetOrCollectingTargetId(collectionType)
|
|
return self.dataCollects[collectionType]:getCanGetOrCollectingTargetId()
|
|
end
|
|
|
|
-- 获取收集目标点数
|
|
function CollectionData:getTargetPoint(collectionType, id)
|
|
return self.dataCollects[collectionType]:getTargetPoint(id)
|
|
end
|
|
|
|
-- 获取基于目标收集点数的当前收集值
|
|
function CollectionData:getTargetOwnedPoint(collectionType, id)
|
|
return self.dataCollects[collectionType]:getTargetOwnedPoint(id)
|
|
end
|
|
|
|
-- 获取可领取收集值
|
|
function CollectionData:getCanCollectPoint(collectionType, id)
|
|
return self.dataCollects[collectionType]:getCanCollectPoint(id)
|
|
end
|
|
|
|
-- 奖励是否已领取
|
|
function CollectionData:isRewardReceived(collectionType, id)
|
|
return self.dataCollects[collectionType]:isRewardReceived(id)
|
|
end
|
|
|
|
-- 是否满足奖励领取条件
|
|
function CollectionData:isMeetTargetPoint(collectionType, id)
|
|
return self.dataCollects[collectionType]:isMeetTargetPoint(id)
|
|
end
|
|
|
|
-- 事件 -----------------------------------------------------------------------------------------------
|
|
|
|
-- 领取收集点数成功
|
|
function CollectionData:onGetedPointSuccess(collectionType, heroId, point)
|
|
self.dataCollects[collectionType]:onGetedPointSuccess(heroId, point)
|
|
self:setDirty(collectionType)
|
|
end
|
|
|
|
-- 领取图鉴奖励成功
|
|
function CollectionData:onGetedPointRewardSuccess(collectionType)
|
|
self.dataCollects[collectionType]:onGetedPointRewardSuccess()
|
|
self:setDirty(collectionType)
|
|
end
|
|
|
|
return CollectionData |