local BountyCell = class("BountyCell", BaseCell) function BountyCell:init() local uiMap = self:getUIMap() self.uiMap = uiMap uiMap["cell.bg.bounty_reward_cell_1"]:setAnchoredPositionX(-GConst.UI_SCREEN_WIDTH/4) self.bountyRewardCell1 = uiMap["cell.bg.bounty_reward_cell_1"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.BOUNTY_REWARD_CELL) uiMap["cell.bg.bounty_reward_cell_2"]:setAnchoredPositionX(GConst.UI_SCREEN_WIDTH/4) self.bountyRewardCell2 = uiMap["cell.bg.bounty_reward_cell_2"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.BOUNTY_REWARD_CELL) self.lvBg = uiMap["cell.bg.lv_bg"] self.lvTx = uiMap["cell.bg.lv_bg.lv_tx"] self.bountyRewardCell1:addClickListener(function() if self.idx == nil then return end local iCslaimed = DataManager.BountyData:getLevelState(self.idx) local lv = DataManager.BountyData:getLevel() if not iCslaimed and lv >= self.idx then ModuleManager.BountyManager:claimReward(self.idx, false) else local bountyInfo = DataManager.BountyData:getSeasonInfoByLevel(self.idx) ModuleManager.TipsManager:showRewardTips(bountyInfo.reward.id, bountyInfo.reward.type, self.bountyRewardCell1:getBaseObject()) end end) self.bountyRewardCell2:addClickListener(function() if self.idx == nil then return end local isBought = DataManager.BountyData:getBought() local iCslaimed = DataManager.BountyData:getProLevelState(self.idx) local lv = DataManager.BountyData:getLevel() if isBought and not iCslaimed and lv >= self.idx then ModuleManager.BountyManager:claimReward(self.idx, true) else local bountyInfo = DataManager.BountyData:getSeasonInfoByLevel(self.idx) ModuleManager.TipsManager:showRewardTips(bountyInfo.reward_pro.id, bountyInfo.reward_pro.type, self.bountyRewardCell2:getBaseObject()) end end) end function BountyCell:refresh(idx) self.idx = idx local bountyInfo = DataManager.BountyData:getSeasonInfoByLevel(idx) local lv = DataManager.BountyData:getLevel() local state = DataManager.BountyData:getLevelState(idx) local proState = DataManager.BountyData:getProLevelState(idx) local isBought = DataManager.BountyData:getBought() self.lvTx:setText(GFunc.intToString(idx)) self.bountyRewardCell1:refresh(bountyInfo.reward, false, false, state) self.bountyRewardCell2:refresh(bountyInfo.reward_pro, true, not isBought, proState) if lv >= idx then self.lvBg:setImageGray(false) if state then -- 已经领过了 self.bountyRewardCell1:hideLight() else self.bountyRewardCell1:showLight() end if isBought and not proState then self.bountyRewardCell2:showLight() else self.bountyRewardCell2:hideLight() end else self.lvBg:setImageGray(true) self.bountyRewardCell1:hideLight() self.bountyRewardCell2:hideLight() end end function BountyCell:setVisible(visible) self.baseObject:setVisible(visible) end return BountyCell