107 lines
5.3 KiB
Lua
107 lines
5.3 KiB
Lua
local ActivityBountyComp = class("ActivityBountyComp", LuaComponent)
|
|
|
|
function ActivityBountyComp:init()
|
|
local uiMap = self:getUIMap()
|
|
self.txScore = uiMap["bounty_panel.bounty.tx_score"]
|
|
self.imgProg = uiMap["bounty_panel.bounty.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
|
self.txProg = uiMap["bounty_panel.bounty.prog.tx_prog"]
|
|
self.txLv = uiMap["bounty_panel.bounty.tx_lv"]
|
|
self.txLvNum = uiMap["bounty_panel.bounty.tx_lv_num"]
|
|
self.txFree = uiMap["bounty_panel.title.free.tx_free"]
|
|
-- 档位1
|
|
self.txBuyed1 = uiMap["bounty_panel.title.buy1.tx_buyed"]
|
|
self.btnBuy1 = uiMap["bounty_panel.title.buy1.btn_buy"]
|
|
self.txBuy1 = uiMap["bounty_panel.title.buy1.btn_buy.tx_buy"]
|
|
-- 档位2
|
|
self.txBuyed2 = uiMap["bounty_panel.title.buy2.tx_buyed"]
|
|
self.btnBuy2 = uiMap["bounty_panel.title.buy2.btn_buy"]
|
|
self.txBuy2 = uiMap["bounty_panel.title.buy2.btn_buy.tx_buy"]
|
|
|
|
self.scrollrectComp = uiMap["bounty_panel.list_bounty"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.progLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog"]
|
|
self.imgProgLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
|
self.maskLevel = uiMap["bounty_panel.list_bounty.viewport.content.mask_img"]
|
|
self.lineLevel = uiMap["bounty_panel.list_bounty.viewport.content.line"]
|
|
self.btnBuyLevel = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level"]
|
|
self.txBuyLevelNum = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.tx_num"]
|
|
self.imgBuyLevelIcon = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.icon"]
|
|
|
|
self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_1))
|
|
self.txLv:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_12))
|
|
self.txFree:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE))
|
|
self.txBuyed1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
|
self.txBuyed2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
|
self.bountyList = DataManager.ActivityData:getBountyCfg()
|
|
self.scrollrectComp:addInitCallback(function()
|
|
self.maskLevel:getTransform():SetAsLastSibling()
|
|
self.lineLevel:getTransform():SetAsLastSibling()
|
|
return "app/ui/activity/cell/activity_bounty_cell"
|
|
end)
|
|
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
|
cell:refresh(index, self.bountyList[index])
|
|
end)
|
|
self.scrollrectComp:clearCells()
|
|
self.scrollrectComp:refillCells(#self.bountyList)
|
|
|
|
self.btnBuy1:addClickListener(function()
|
|
UIManager:showUI("app/ui/activity/activity_bounty_buy_ui", GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
|
end)
|
|
self.btnBuy2:addClickListener(function()
|
|
UIManager:showUI("app/ui/activity/activity_bounty_buy_ui", GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
|
end)
|
|
self.btnBuyLevel:addClickListener(function()
|
|
ModuleManager.ActivityManager:reqBuyBountyLevel()
|
|
end)
|
|
end
|
|
|
|
function ActivityBountyComp:refresh()
|
|
self.btnBuyLevel:setActive(DataManager.ActivityData:canBuyBountyLevel())
|
|
-- 战令积分显示
|
|
local total = DataManager.ActivityData:getBountyUpgradeScore()
|
|
local cur = DataManager.ActivityData:getBountyLevelScore()
|
|
if total and total > 0 then
|
|
self.imgProg.value = cur / total
|
|
self.txProg:setText(cur .. "/" .. total)
|
|
else
|
|
self.imgProg.value = 1
|
|
self.txProg:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
|
|
end
|
|
self.txLvNum:setText(DataManager.ActivityData:getBountyLevel())
|
|
|
|
-- 档位展示
|
|
self.btnBuy1:setActive(not DataManager.ActivityData:isBountyGradeUnlock(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1))
|
|
self.btnBuy2:setActive(not DataManager.ActivityData:isBountyGradeUnlock(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2))
|
|
|
|
local gift1 = DataManager.ActivityData:getBountyGradeGiftCfg(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
|
local gift2 = DataManager.ActivityData:getBountyGradeGiftCfg(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
|
self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id))
|
|
self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id))
|
|
self.txBuyLevelNum:setText(GFunc.getRewardNum(DataManager.ActivityData:getBuyBountyLevelCost()))
|
|
GFunc.centerImgAndTx(self.imgBuyLevelIcon, self.txBuyLevelNum, 5)
|
|
|
|
-- 等级列表
|
|
self.scrollrectComp:updateAllCell()
|
|
|
|
local maxLevel = DataManager.ActivityData:getBountyMaxLevel()
|
|
local curLevel = DataManager.ActivityData:getBountyLevel()
|
|
local topRecoveryOffset = self.scrollrectComp:getTopRecoveryOffset()
|
|
local downRecoveryOffset = self.scrollrectComp:getDownRecoveryOffset()
|
|
local cellHeight = self.scrollrectComp:getCellHeight()
|
|
if curLevel >= maxLevel then
|
|
self.lineLevel:setVisible(false)
|
|
else
|
|
self.lineLevel:setVisible(true)
|
|
self.lineLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight)
|
|
end
|
|
self.progLevel:setAnchoredPositionY((topRecoveryOffset + downRecoveryOffset) / 2 - cellHeight / 2 - 10)
|
|
self.progLevel:setSizeDeltaY(cellHeight * (maxLevel - 1))
|
|
local percent = (curLevel - 1) / (maxLevel - 1)
|
|
if percent < 0 then
|
|
percent = 0
|
|
end
|
|
self.imgProgLevel.value = percent
|
|
self.maskLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight)
|
|
self.maskLevel:setSizeDeltaY(cellHeight * maxLevel + GConst.UI_SCREEN_HEIGHT)
|
|
end
|
|
|
|
return ActivityBountyComp |