PGRData/Script/matrix/xui/xuipurchase/XUiPurchaseHKExchangeListItem.lua

111 lines
No EOL
4.2 KiB
Lua

local XUiPurchaseHKExchangeListItem = XClass(nil, "XUiPurchaseHKExchangeListItem")
local TextManager = CS.XTextManager
function XUiPurchaseHKExchangeListItem:Ctor(ui,uiRoot)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.UiRoot = uiRoot
XTool.InitUiObject(self)
end
-- 更新数据
function XUiPurchaseHKExchangeListItem:OnRefresh(itemData)
self:SetSelectStatus(false)
if not itemData then
return
end
self.ItemData = itemData
-- 直接获得的道具
local rewardGoods = self.ItemData.RewardGoodsList or {}
-- 额外获得
local extraRewardGood = self.ItemData.ExtraRewardGoods or {}
local extraCount = extraRewardGood.Count or 0
-- 首充获得物品
local firstRewardGoods = self.ItemData.FirstRewardGoods or {}
local firstCount = firstRewardGoods.Count or 0
self.TxtName.text = self.ItemData.Desc
self.RawImageConsu:SetRawImage(XDataCenter.ItemManager.GetItemIcon(itemData.ConsumeId))
if itemData.Icon then
local path = XPurchaseConfigs.GetIconPathByIconName(itemData.Icon)
if path and path.AssetPath then
self.ImgIconDh:SetRawImage(path.AssetPath)
end
end
self.TxtHk.text = itemData.ConsumeCount
if extraCount == 0 and firstCount == 0 then
self.PanelFirstLabel.gameObject:SetActive(false)
self.PanelNormalLabel.gameObject:SetActive(false)
self:SetBuyTipActive(false)
else
local dirCount = 0
if rewardGoods[1] then
dirCount = rewardGoods[1].Count or 0
end
if self.ItemData.BuyTimes == 0 or firstCount > 0 then
if firstCount == dirCount then -- 首次购买而且双倍
self.PanelFirstLabel.gameObject:SetActive(true)
self.PanelNormalLabel.gameObject:SetActive(true)
self:SetBuyTipActive(true)
self.TxtFirst.text = TextManager.GetText("PurchasePayFirstGetText")
if firstRewardGoods.TemplateId then
self.TxtNormal.text = TextManager.GetText("PurchaseFirstPayTips",firstCount,XDataCenter.ItemManager.GetItemName(firstRewardGoods.TemplateId))
if self.TxtNormalSelect then
self.TxtNormalSelect.text = self.TxtNormal.text
end
end
else
self.PanelFirstLabel.gameObject:SetActive(false)
self.PanelNormalLabel.gameObject:SetActive(true)
self:SetBuyTipActive(true)
if firstRewardGoods.TemplateId then
self.TxtNormal.text = TextManager.GetText("PurchaseFirstPayTips",firstCount,XDataCenter.ItemManager.GetItemName(firstRewardGoods.TemplateId))
if self.TxtNormalSelect then
self.TxtNormalSelect.text = self.TxtNormal.text
end
end
end
else
self.PanelNormalLabel.gameObject:SetActive(false)
self:SetBuyTipActive(false)
self.PanelFirstLabel.gameObject:SetActive(false)
if extraCount > 0 and extraRewardGood.TemplateId then
self.PanelNormalLabel.gameObject:SetActive(true)
self:SetBuyTipActive(true)
self.TxtNormal.text = TextManager.GetText("PurchasePayGetText",extraCount,XDataCenter.ItemManager.GetItemName(extraRewardGood.TemplateId))
if self.TxtNormalSelect then
self.TxtNormalSelect.text = self.TxtNormal.text
end
end
end
end
local config = XPurchaseConfigs.GetPurchaseExchangeUiConfig(self.ItemData.Id)
-- 图标
self.ImgBg:SetRawImage(config.NormalIcon)
self.ImgBgSelect:SetRawImage(config.SelectIcon)
end
function XUiPurchaseHKExchangeListItem:Init(uiRoot)
self.UiRoot = uiRoot
end
function XUiPurchaseHKExchangeListItem:SetSelectStatus(value)
self.ImgBgSelect.gameObject:SetActiveEx(value)
end
function XUiPurchaseHKExchangeListItem:SetBuyTipActive(value)
self.TxtNormal.gameObject:SetActiveEx(value)
if self.TxtNormalSelect then
self.TxtNormalSelect.gameObject:SetActiveEx(value)
end
end
return XUiPurchaseHKExchangeListItem