86 lines
3.6 KiB
Lua
86 lines
3.6 KiB
Lua
local LevelFundCell = class("LevelFundCell", BaseCell)
|
|
|
|
local Fund_REWARD_CELL = "app/ui/fund/cell/level_fund_reward_cell"
|
|
|
|
function LevelFundCell:init()
|
|
local uiMap = self:getUIMap()
|
|
local width = GConst.UI_SCREEN_WIDTH
|
|
|
|
self.fundRewardCell1 = uiMap["level_fund_cell.fund_reward_cell_1"]:addLuaComponent(Fund_REWARD_CELL)
|
|
self.fundRewardCell1:setAnchoredPositionX(-width/3)
|
|
self.fundRewardCell1:addClickListener(function()
|
|
if self.fundId == nil then
|
|
return
|
|
end
|
|
local iCslaimed = DataManager.FundData:getIsClaimedBase(self.fundId)
|
|
local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
|
|
local playerLevel = DataManager.PlayerData:getLv()
|
|
if not iCslaimed and playerLevel >= needLevel then
|
|
else
|
|
local freeReward = DataManager.FundData:getFreeFundRewards(self.fundId)
|
|
local reward = freeReward and freeReward[1]
|
|
if reward then
|
|
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell1:getBaseObject())
|
|
end
|
|
end
|
|
end)
|
|
self.fundRewardCell2 = uiMap["level_fund_cell.fund_reward_cell_2"]:addLuaComponent(Fund_REWARD_CELL)
|
|
self.fundRewardCell2:addClickListener(function()
|
|
if self.fundId == nil then
|
|
return
|
|
end
|
|
local iCslaimed = DataManager.FundData:getIsClaimedBase(self.fundId)
|
|
local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
|
|
local playerLevel = DataManager.PlayerData:getLv()
|
|
if not iCslaimed and playerLevel >= needLevel and DataManager.FundData:getIsBoughtBase(self.fundId) then
|
|
else
|
|
local baseReward = DataManager.FundData:getBaseFundRewards(self.fundId)
|
|
local reward = baseReward and baseReward[1]
|
|
if reward then
|
|
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell2:getBaseObject())
|
|
end
|
|
end
|
|
end)
|
|
self.fundRewardCell3 = uiMap["level_fund_cell.fund_reward_cell_3"]:addLuaComponent(Fund_REWARD_CELL)
|
|
self.fundRewardCell3:addClickListener(function()
|
|
if self.fundId == nil then
|
|
return
|
|
end
|
|
local iCslaimed = DataManager.FundData:getIsClaimedAdvance(self.fundId)
|
|
local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
|
|
local playerLevel = DataManager.PlayerData:getLv()
|
|
if not iCslaimed and playerLevel >= needLevel and DataManager.FundData:getIsBoughtAdvance(self.fundId) then
|
|
else
|
|
local advanceReward = DataManager.FundData:getAdvanceFundRewards(self.fundId)
|
|
local reward = advanceReward and advanceReward[1]
|
|
if reward then
|
|
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell3:getBaseObject())
|
|
end
|
|
end
|
|
end)
|
|
self.fundRewardCell3:setAnchoredPositionX(width/3)
|
|
self.levelBg = uiMap["level_fund_cell.lv_bg"]
|
|
self.levelBg:setAnchoredPositionX(-width/6)
|
|
self.levelGrayImg = uiMap["level_fund_cell.lv_bg.gray"]
|
|
self.levelTx = uiMap["level_fund_cell.lv_bg.tx"]
|
|
end
|
|
|
|
function LevelFundCell:refresh(id)
|
|
self.fundId = id
|
|
local FundData = DataManager.FundData
|
|
local needLevel = DataManager.FundData:getNeedLevel(id)
|
|
local playerLevel = DataManager.PlayerData:getLv()
|
|
local isActive = playerLevel >= needLevel
|
|
self.levelGrayImg:setVisible(not isActive)
|
|
self.levelTx:setText(GFunc.intToString(needLevel))
|
|
local freeReward, baseReward, advanceReward = FundData:getAllStepFundRewards(id)
|
|
self.fundRewardCell1:refresh(freeReward[1], isActive and 1 or 0, false, FundData:getIsClaimedFree(id))
|
|
self.fundRewardCell2:refresh(baseReward[1], isActive and 2 or 0, not FundData:getIsBoughtBase(id), FundData:getIsClaimedBase(id))
|
|
self.fundRewardCell3:refresh(advanceReward[1], isActive and 3 or 0, not FundData:getIsBoughtAdvance(id), FundData:getIsClaimedAdvance(id))
|
|
end
|
|
|
|
function LevelFundCell:setVisible(visible)
|
|
self.baseObject:setVisible(visible)
|
|
end
|
|
|
|
return LevelFundCell |