c1_lua/lua/app/ui/activity/activity_skin_comp.lua
2023-08-11 11:52:12 +08:00

112 lines
5.2 KiB
Lua

local ActivitySkinComp = class("ActivitySkinComp", LuaComponent)
function ActivitySkinComp:init()
local uiMap = self:getUIMap()
self.txTitle = uiMap["skin_panel.banner.title.tx_title"]
self.txBannerDesc1 = uiMap["skin_panel.banner.content.desc1.tx_desc1"]
self.txBannerDesc2 = uiMap["skin_panel.banner.content.desc2.tx_desc2"]
-- 礼包1
self.spineSkin1 = uiMap["skin_panel.skin1.spine_skin1"]
self.txDesc1 = uiMap["skin_panel.skin1.bg_title.tx_title"]
self.btnBuy1 = uiMap["skin_panel.skin1.btn_buy"]
self.txBuy1 = uiMap["skin_panel.skin1.btn_buy.tx_buy"]
self.rewardCells1 = {}
for i = 1, 3 do
table.insert(self.rewardCells1, uiMap["skin_panel.skin1.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
end
-- 礼包2
self.spineSkin2 = uiMap["skin_panel.skin2.spine_skin2"]
self.txDesc2 = uiMap["skin_panel.skin2.bg_title.tx_title"]
self.btnBuy2 = uiMap["skin_panel.skin2.btn_buy"]
self.txBuy2 = uiMap["skin_panel.skin2.btn_buy.tx_buy"]
self.rewardCells2 = {}
for i = 1, 3 do
table.insert(self.rewardCells2, uiMap["skin_panel.skin2.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
end
self.btnBuy1:addClickListener(function()
PayManager:purchasePackage(GConst.ActivityConst.SKIN_GIFT_ID_1, PayManager.PURCHARSE_TYPE.ACT_GIFT)
end)
self.btnBuy2:addClickListener(function()
PayManager:purchasePackage(GConst.ActivityConst.SKIN_GIFT_ID_2, PayManager.PURCHARSE_TYPE.ACT_GIFT)
end)
LocalData:recordTodayActSummerWatchedSkin()
end
function ActivitySkinComp:refresh()
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_5))
-- 礼包1
local gift1 = DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.SKIN_GIFT_ID_1]
local skinId1,heroId1
for idx, reward in ipairs(gift1.reward) do
if ConfigManager:getConfig("item")[reward.id].type == GConst.ItemConst.ITEM_TYPE.SKIN then
skinId1 = DataManager.SkinData:getSkinIdByItemId(reward.id)
heroId1 = DataManager.SkinData:getHeroIdBySkinId(skinId1)
end
end
if skinId1 and heroId1 then
self.spineSkin1:getSkeletonGraphic().enabled = false
self.spineSkin1:loadAssetAsync(DataManager.SkinData:getModelId(skinId1), function()
self.spineSkin1:getSkeletonGraphic().enabled = true
self.spineSkin1:playAnim("idle", true, true, true)
end, true)
self.txBannerDesc1:setText(DataManager.HeroData:getHeroById(heroId1):getName() .. "-" .. DataManager.SkinData:getName(skinId1) .. "(" .. I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_9) .. ")")
end
self.txDesc1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_6))
for index, cell in ipairs(self.rewardCells1) do
if gift1.reward[index] then
cell:setVisible(true)
cell:refreshByConfig(gift1.reward[index])
else
cell:setVisible(false)
end
end
if DataManager.ShopData:getGiftRemainBuyNum(GConst.ActivityConst.SKIN_GIFT_ID_1) > 0 then
self.btnBuy1:setTouchEnable(true)
self.btnBuy1:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id))
else
self.btnBuy1:setTouchEnable(false)
self.btnBuy1:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
self.txBuy1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
end
-- 礼包2
local gift2 = DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.SKIN_GIFT_ID_2]
local skinId2,heroId2
for idx, reward in ipairs(gift2.reward) do
if ConfigManager:getConfig("item")[reward.id].type == GConst.ItemConst.ITEM_TYPE.SKIN then
skinId2 = DataManager.SkinData:getSkinIdByItemId(reward.id)
heroId2 = DataManager.SkinData:getHeroIdBySkinId(skinId2)
end
end
if skinId2 and heroId2 then
self.spineSkin2:getSkeletonGraphic().enabled = false
self.spineSkin2:loadAssetAsync(DataManager.SkinData:getModelId(skinId2), function()
self.spineSkin2:getSkeletonGraphic().enabled = true
self.spineSkin2:playAnim("idle", true, true, true)
end, true)
self.txBannerDesc2:setText(DataManager.HeroData:getHeroById(heroId2):getName() .. "-" .. DataManager.SkinData:getName(skinId2) .. "(" .. I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_9) .. ")")
end
self.txDesc2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_7))
for index, cell in ipairs(self.rewardCells2) do
if gift2.reward[index] then
cell:setVisible(true)
cell:refreshByConfig(gift2.reward[index])
else
cell:setVisible(false)
end
end
if DataManager.ShopData:getGiftRemainBuyNum(GConst.ActivityConst.SKIN_GIFT_ID_2) > 0 then
self.btnBuy2:setTouchEnable(true)
self.btnBuy2:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id))
else
self.btnBuy2:setTouchEnable(false)
self.btnBuy2:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
self.txBuy2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
end
end
return ActivitySkinComp