5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
92 lines
3.4 KiB
Lua
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
|