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 EDITOR_MODE then Logger.logHighlight("更新英雄图鉴数据") Logger.printTable(data) end self:initAllDataClass() 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 end function CollectionData:setDirty(collectionType) if collectionType == GConst.CollectionConst.TYPE.HERO then self.data.dirtyHero = not self.data.dirtyHero end end function CollectionData:isOpen() if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.COLLECT, true) then return false end return true end function CollectionData:getCollectEntity(collectionType) return self.dataCollects[collectionType] end -- 是否有红点 function CollectionData:hasRedPoint(collectionType) return self:isOpen() and 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