Files
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

92 lines
3.4 KiB
Lua

local VampireFateCardInfo_fateCardPackageCtrl = class("VampireFateCardInfo_fateCardPackageCtrl", BaseCtrl)
VampireFateCardInfo_fateCardPackageCtrl._mapNodeConfig = {
TMPPackageName = {sComponentName = "TMP_Text"},
imgPackageIcon = {sComponentName = "Image"},
subIcon = {sComponentName = "Image"},
btnFateCard = {}
}
VampireFateCardInfo_fateCardPackageCtrl._mapEventConfig = {}
VampireFateCardInfo_fateCardPackageCtrl._mapRedDotConfig = {}
function VampireFateCardInfo_fateCardPackageCtrl:Awake()
self.mapFateCardCtrl = {}
self.rtContent = self.gameObject:GetComponent("Transform")
end
function VampireFateCardInfo_fateCardPackageCtrl:FadeIn()
end
function VampireFateCardInfo_fateCardPackageCtrl:FadeOut()
end
function VampireFateCardInfo_fateCardPackageCtrl:OnEnable()
self._mapNode.btnFateCard:SetActive(false)
end
function VampireFateCardInfo_fateCardPackageCtrl:Refresh(nBundleId, tbFateCard, tbExFateCard)
local sort = function(a, b)
return a.nId < b.nId
end
local sortEx = function(a, b)
return a < b
end
table.sort(tbFateCard, sort)
table.sort(tbExFateCard, sortEx)
self.mapBundleCfgData = ConfigTable.GetData("StarTowerBookFateCardBundle", nBundleId)
if self.mapBundleCfgData == nil then
self.gameObject:SetActive(false)
return
end
self:SetPngSprite(self._mapNode.imgPackageIcon, self.mapBundleCfgData.Icon .. AllEnum.FateCardBundleIcon.S)
self:SetAtlasSprite(self._mapNode.subIcon, "05_language", self.mapBundleCfgData.Text)
NovaAPI.SetImageNativeSize(self._mapNode.subIcon)
NovaAPI.SetTMPText(self._mapNode.TMPPackageName, self.mapBundleCfgData.Name)
local bFirst = true
local ret, retId
for _, nFateCardId in ipairs(tbExFateCard) do
local itemObj = instantiate(self._mapNode.btnFateCard, self.rtContent)
itemObj.gameObject:SetActive(true)
local itemCtrl = self:BindCtrlByNode(itemObj, "Game.UI.VampireSurvivor.Depot.DepotFateCardItemCtrl")
itemCtrl:InitFateCard(nFateCardId, 1, true)
if bFirst then
ret = itemCtrl
bFirst = false
retId = nFateCardId
end
self.mapFateCardCtrl[itemObj] = itemCtrl
local btnSelect = itemObj:GetComponent("UIButton")
btnSelect.onClick:RemoveAllListeners()
local func_select = function()
EventManager.Hit("VampireFardInfoSelectFateCard", nFateCardId, itemCtrl)
end
btnSelect.onClick:AddListener(func_select)
end
for _, mapInfo in ipairs(tbFateCard) do
local itemObj = instantiate(self._mapNode.btnFateCard, self.rtContent)
itemObj.gameObject:SetActive(true)
local itemCtrl = self:BindCtrlByNode(itemObj, "Game.UI.VampireSurvivor.Depot.DepotFateCardItemCtrl")
itemCtrl:InitFateCard(mapInfo.nId, 1, false)
if bFirst then
ret = itemCtrl
bFirst = false
retId = mapInfo.nId
end
self.mapFateCardCtrl[itemObj] = itemCtrl
local btnSelect = itemObj:GetComponent("UIButton")
btnSelect.onClick:RemoveAllListeners()
local func_select = function()
EventManager.Hit("VampireFardInfoSelectFateCard", mapInfo.nId, itemCtrl)
end
btnSelect.onClick:AddListener(func_select)
end
return ret, retId
end
function VampireFateCardInfo_fateCardPackageCtrl:OnDisable()
for go, ctrl in ipairs(self.mapFateCardCtrl) do
local btnSelect = go:GetComponent("UIButton")
btnSelect.onClick:RemoveAllListeners()
self:UnbindCtrlByNode(ctrl)
destroy(go)
end
end
function VampireFateCardInfo_fateCardPackageCtrl:OnDestroy()
end
function VampireFateCardInfo_fateCardPackageCtrl:OnRelease()
end
return VampireFateCardInfo_fateCardPackageCtrl