forked from endernon/PGRData
117 lines
4 KiB
Lua
117 lines
4 KiB
Lua
|
--肉鸽2.0 通用节点奖励格子
|
|||
|
local XUiRewardGrid = XClass(nil, "XUiRewardGrid")
|
|||
|
|
|||
|
function XUiRewardGrid:Ctor(ui, clickCb)
|
|||
|
self.GameObject = ui.gameObject
|
|||
|
self.Transform = ui.transform
|
|||
|
self.ClickCb = clickCb
|
|||
|
XUiHelper.InitUiClass(self, ui)
|
|||
|
self:RegisterButtonEvent()
|
|||
|
|
|||
|
if self.ImgQuality then
|
|||
|
self.ImgQuality.gameObject:SetActiveEx(false)
|
|||
|
end
|
|||
|
if self.Icon then
|
|||
|
self.Icon.gameObject:SetActiveEx(false)
|
|||
|
end
|
|||
|
self:InitTap()
|
|||
|
self.DefaultDescColor = self.TxtDes and self.TxtDes.color
|
|||
|
end
|
|||
|
|
|||
|
function XUiRewardGrid:RegisterButtonEvent()
|
|||
|
XUiHelper.RegisterClickEvent(self, self.Btn, self.OnBtnClick)
|
|||
|
end
|
|||
|
|
|||
|
function XUiRewardGrid:InitTap()
|
|||
|
if self.Tap then self.Tap.gameObject:SetActiveEx(false) end
|
|||
|
if self.Tap1 then self.Tap1.gameObject:SetActiveEx(false) end
|
|||
|
if self.Tap2 then self.Tap2.gameObject:SetActiveEx(false) end
|
|||
|
if self.Tap3 then self.Tap3.gameObject:SetActiveEx(false) end
|
|||
|
if self.Tap4 then self.Tap4.gameObject:SetActiveEx(false) end
|
|||
|
end
|
|||
|
|
|||
|
--rewardNode:XARewardNode
|
|||
|
function XUiRewardGrid:Refresh(rewardNode)
|
|||
|
self.RewardNode = rewardNode
|
|||
|
if not rewardNode or rewardNode:IsReceived() then
|
|||
|
self.GameObject:SetActiveEx(false)
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
local name, desc, icon
|
|||
|
local quality, qualityIcon
|
|||
|
local rewardType = rewardNode:GetRewardType()
|
|||
|
local configId = rewardNode:GetConfigId()
|
|||
|
if rewardType == XBiancaTheatreConfigs.XNodeRewardType.ItemBox then
|
|||
|
name = XBiancaTheatreConfigs.GetItemBoxName(configId)
|
|||
|
desc = XBiancaTheatreConfigs.GetItemBoxDesc(configId)
|
|||
|
icon = XBiancaTheatreConfigs.GetItemBoxIcon(configId)
|
|||
|
elseif rewardType == XBiancaTheatreConfigs.XNodeRewardType.Ticket then
|
|||
|
name = XBiancaTheatreConfigs.GetRecruitTicketName(configId)
|
|||
|
desc = XBiancaTheatreConfigs.GetRecruitTicketDesc(configId)
|
|||
|
icon = XBiancaTheatreConfigs.GetRecruitTicketIcon(configId)
|
|||
|
quality = XBiancaTheatreConfigs.GetRecruitTicketQuality(configId)
|
|||
|
qualityIcon = XArrangeConfigs.GeQualityPath(quality)
|
|||
|
elseif rewardType == XBiancaTheatreConfigs.XNodeRewardType.Gold then
|
|||
|
name = XBiancaTheatreConfigs.GetGoldName(configId)
|
|||
|
desc = XBiancaTheatreConfigs.GetGoldDesc(configId)
|
|||
|
icon = XBiancaTheatreConfigs.GetGoldIcon(configId)
|
|||
|
end
|
|||
|
self.Name = name
|
|||
|
self.IconCfg = icon
|
|||
|
self.Desc = desc
|
|||
|
self.Quality = quality
|
|||
|
self.Color = quality and XBiancaTheatreConfigs.GetQualityTextColor(quality) or self.DefaultDescColor
|
|||
|
|
|||
|
--名字
|
|||
|
if self.TxtDes then
|
|||
|
self.TxtDes.text = name
|
|||
|
if self.Color then
|
|||
|
self.TxtDes.color = self.Color
|
|||
|
end
|
|||
|
end
|
|||
|
--描述
|
|||
|
if self.TxtProgress then
|
|||
|
self.TxtProgress.text = desc
|
|||
|
end
|
|||
|
--图标
|
|||
|
if icon and self.RImgIcon then
|
|||
|
self.RImgIcon:SetRawImage(icon)
|
|||
|
end
|
|||
|
--品质图标
|
|||
|
if self.ImgQuality then
|
|||
|
if qualityIcon then
|
|||
|
self.ImgQuality:SetSprite(qualityIcon)
|
|||
|
self.ImgQuality.gameObject:SetActiveEx(true)
|
|||
|
else
|
|||
|
self.ImgQuality.gameObject:SetActiveEx(false)
|
|||
|
end
|
|||
|
end
|
|||
|
-- 标签
|
|||
|
local tag = self.RewardNode:GetTagType()
|
|||
|
if self.Tap2 then self.Tap2.gameObject:SetActiveEx(tag == XBiancaTheatreConfigs.NodeRewardTagType.Team) end
|
|||
|
if self.Tap3 then self.Tap3.gameObject:SetActiveEx(tag == XBiancaTheatreConfigs.NodeRewardTagType.Difficulty) end
|
|||
|
if self.Tap4 then self.Tap4.gameObject:SetActiveEx(tag == XBiancaTheatreConfigs.NodeRewardTagType.Luck) end
|
|||
|
self.GameObject:SetActiveEx(true)
|
|||
|
end
|
|||
|
|
|||
|
function XUiRewardGrid:OnBtnClick()
|
|||
|
if self.ClickCb then
|
|||
|
self.ClickCb(self)
|
|||
|
return
|
|||
|
end
|
|||
|
local custemData = {
|
|||
|
Name = self.Name,
|
|||
|
Icon = self.IconCfg,
|
|||
|
Desc = self.Desc,
|
|||
|
Count = self.RewardNode:GetCount(),
|
|||
|
Color = self.Color
|
|||
|
}
|
|||
|
XLuaUiManager.Open("UiBiancaTheatreTips", nil, nil, custemData)
|
|||
|
end
|
|||
|
|
|||
|
function XUiRewardGrid:GetRewardNode()
|
|||
|
return self.RewardNode
|
|||
|
end
|
|||
|
|
|||
|
return XUiRewardGrid
|