112 lines
4.4 KiB
Lua
112 lines
4.4 KiB
Lua
local ActivityUI = class("ActivityUI", BaseUI)
|
|
local SPINE_BANNER = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "ui_act_summer_buy_2",
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "ui_act_summer_buy_1",
|
|
}
|
|
local PANEL_BG = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "assets/arts/textures/background/shop/shop_bg_11.png",
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "assets/arts/textures/background/shop/shop_bg_pig.png",
|
|
}
|
|
local TITLE_BG = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "common_title_10",
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "common_title_12",
|
|
}
|
|
local OFF_BG = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "shop_bg_18",
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "shop_bg_9",
|
|
}
|
|
local LINE_BG = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "act_summer_board_6",
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "act_summer_board_5",
|
|
}
|
|
local SPINE_POS_Y = {
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = 340,
|
|
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = 285,
|
|
}
|
|
|
|
function ActivityUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function ActivityUI:getPrefabPath()
|
|
return "assets/prefabs/ui/activity/activity_bounty_buy_ui.prefab"
|
|
end
|
|
|
|
function ActivityUI:onPressBackspace()
|
|
self:closeUI()
|
|
end
|
|
|
|
function ActivityUI:ctor(parmas)
|
|
self.payType = parmas
|
|
if self.payType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
|
self.giftId = GConst.ActivityConst.BOUNTY_GIFT_ID_1
|
|
elseif self.payType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
|
self.giftId = GConst.ActivityConst.BOUNTY_GIFT_ID_2
|
|
end
|
|
end
|
|
|
|
function ActivityUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
self.bg = uiMap["activity_bounty_buy_ui.bg"]
|
|
self.spineBanner = uiMap["activity_bounty_buy_ui.bg.spine_banner"]
|
|
self.imgTitle = uiMap["activity_bounty_buy_ui.bg.img_title"]
|
|
self.txTitle = uiMap["activity_bounty_buy_ui.bg.img_title.tx_title"]
|
|
self.imgOff = uiMap["activity_bounty_buy_ui.bg.img_off"]
|
|
self.txOff = uiMap["activity_bounty_buy_ui.bg.img_off.tx_off"]
|
|
self.txDesc = uiMap["activity_bounty_buy_ui.bg.tx_desc"]
|
|
self.line = uiMap["activity_bounty_buy_ui.bg.line"]
|
|
self.scrollrectComp = uiMap["activity_bounty_buy_ui.bg.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.btnBuy = uiMap["activity_bounty_buy_ui.bg.btn_buy"]
|
|
self.txBuy = uiMap["activity_bounty_buy_ui.bg.btn_buy.tx_buy"]
|
|
self.btnClose = uiMap["activity_bounty_buy_ui.bg.close_btn"]
|
|
|
|
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_PREVIEW_DESC))
|
|
self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_11))
|
|
|
|
self.btnBuy:addClickListener(function()
|
|
ModuleManager.ActivityManager:buySummerBounty(self.giftId)
|
|
end)
|
|
self.btnClose:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
self:addEventListener(EventManager.CUSTOM_EVENT.ACTIVITY_SUMMER_END, function()
|
|
self:closeUI()
|
|
end)
|
|
self:bind(DataManager.ShopData, "isDirty", function()
|
|
self:closeUI()
|
|
end)
|
|
end
|
|
|
|
function ActivityUI:onRefresh()
|
|
self.spineBanner:getSkeletonGraphic().enabled = false
|
|
self.spineBanner:loadAssetAsync(SPINE_BANNER[self.payType], function()
|
|
self.spineBanner:getSkeletonGraphic().enabled = true
|
|
self.spineBanner:playAnim("idle", true, true, true)
|
|
end, false)
|
|
self.spineBanner:setAnchoredPositionY(SPINE_POS_Y[self.payType])
|
|
|
|
self.bg:setTexture(PANEL_BG[self.payType])
|
|
self.imgTitle:setSprite(GConst.ATLAS_PATH.COMMON, TITLE_BG[self.payType])
|
|
self.imgOff:setSprite(GConst.ATLAS_PATH.SHOP, OFF_BG[self.payType])
|
|
self.line:setSprite(GConst.ATLAS_PATH.ACT_SUMMER, LINE_BG[self.payType])
|
|
local gift = DataManager.ShopData:getActGiftConfig()[self.giftId]
|
|
if gift.value then
|
|
self.imgOff:setActive(true)
|
|
self.txOff:setText(gift.value .. "%")
|
|
else
|
|
self.imgOff:setActive(false)
|
|
end
|
|
self.txBuy:setText(GFunc.getFormatPrice(gift.recharge_id))
|
|
|
|
local totalRewards = DataManager.ActivityData:getBountyGradeAllRewardSort(self.payType)
|
|
self.scrollrectComp:addInitCallback(function()
|
|
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
|
|
end)
|
|
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
|
cell:refreshByConfig(totalRewards[index])
|
|
end)
|
|
self.scrollrectComp:clearCells()
|
|
self.scrollrectComp:refillCells(#totalRewards)
|
|
end
|
|
|
|
return ActivityUI |