c1_lua/lua/app/ui/activity/activity_bounty_comp.lua
2023-08-15 15:08:07 +08:00

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