forked from endernon/PGRData
78 lines
No EOL
2.5 KiB
Lua
78 lines
No EOL
2.5 KiB
Lua
---@class XGoldenMinerShopTipPanel
|
||
---@field _ItemGrid XUiGoldenMinerItemGrid
|
||
local XUiShopShopTipPanel = XClass(nil, "XUiShopShopTipPanel")
|
||
|
||
function XUiShopShopTipPanel:Ctor(ui)
|
||
self.GameObject = ui.gameObject
|
||
self.Transform = ui.transform
|
||
XTool.InitUiObject(self)
|
||
|
||
self._ItemGrid = false
|
||
self.IsShow = false
|
||
self:SetActive(false)
|
||
self:AddBtnListener()
|
||
end
|
||
|
||
---@param itemGrid XUiGoldenMinerItemGrid
|
||
function XUiShopShopTipPanel:Refresh(buffId, itemGrid, positionX)
|
||
if not self.BtnSell then
|
||
XLog.Error("当前Ui资源与代码不匹配,请打包资源")
|
||
return
|
||
end
|
||
self.Transform.position = Vector3(positionX, self.Transform.position.y, self.Transform.position.z)
|
||
if buffId then
|
||
self:UpdateBuff(buffId)
|
||
elseif itemGrid then
|
||
self:UpdateItem(itemGrid)
|
||
end
|
||
end
|
||
|
||
function XUiShopShopTipPanel:UpdateBuff(buffId)
|
||
local buffName = XGoldenMinerConfigs.GetBuffName(buffId)
|
||
local buffDesc = XGoldenMinerConfigs.GetBuffDesc(buffId)
|
||
local buffIcon = XGoldenMinerConfigs.GetBuffIcon(buffId)
|
||
|
||
self.TxtName.text = buffName
|
||
self.TxtTips.text = buffDesc
|
||
self.Txt02.gameObject:SetActiveEx(false)
|
||
self.BtnSell.gameObject:SetActiveEx(false)
|
||
if not string.IsNilOrEmpty(buffIcon) then
|
||
self.RawBuffIcon:SetRawImage(buffIcon)
|
||
end
|
||
end
|
||
|
||
---@param itemGrid XUiGoldenMinerItemGrid
|
||
function XUiShopShopTipPanel:UpdateItem(itemGrid)
|
||
self._ItemGrid = itemGrid
|
||
local item = itemGrid:GetItemColumn()
|
||
local itemName = XGoldenMinerConfigs.GetItemName(item:GetItemId())
|
||
local itemDesc = XGoldenMinerConfigs.GetItemDescribe(item:GetItemId())
|
||
local itemIcon = XGoldenMinerConfigs.GetItemIcon(item:GetItemId())
|
||
local price = XGoldenMinerConfigs.GetItemSellPrice(item:GetItemId())
|
||
|
||
self.TxtName.text = itemName
|
||
self.TxtTips.text = itemDesc
|
||
self.TxtPrice.text = price
|
||
self.Txt02.gameObject:SetActiveEx(true)
|
||
self.BtnSell.gameObject:SetActiveEx(true)
|
||
if not string.IsNilOrEmpty(itemIcon) then
|
||
self.RawBuffIcon:SetRawImage(itemIcon)
|
||
end
|
||
end
|
||
|
||
function XUiShopShopTipPanel:SetActive(active)
|
||
self.IsShow = active
|
||
self.GameObject:SetActiveEx(active)
|
||
end
|
||
|
||
--region Ui - BtnListener
|
||
function XUiShopShopTipPanel:AddBtnListener()
|
||
XUiHelper.RegisterClickEvent(self, self.BtnSell, self.OnBtnSellClick)
|
||
end
|
||
|
||
function XUiShopShopTipPanel:OnBtnSellClick()
|
||
XEventManager.DispatchEvent(XEventId.EVENT_GOLDEN_MINER_SHOP_SELL_ITEM, self._ItemGrid)
|
||
end
|
||
--endregion
|
||
|
||
return XUiShopShopTipPanel |