44f0ab2bc5
EN: 2.0.0.144 CN: 2.0.0.143 JP: 2.0.0.146 KR: 2.0.0.151
80 lines
3.1 KiB
Lua
80 lines
3.1 KiB
Lua
local ReengagementBDPreviewItemCtrl = class("ReengagementBDPreviewItemCtrl", BaseCtrl)
|
|
ReengagementBDPreviewItemCtrl._mapNodeConfig = {
|
|
btnItem = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnClickItem"
|
|
},
|
|
txtLeaderCn = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_Build_Leader"
|
|
},
|
|
txtSubCn = {
|
|
nCount = 2,
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_Build_Sub"
|
|
},
|
|
imgCharIcon = {nCount = 3, sComponentName = "Image"},
|
|
imgCharFrame = {nCount = 3, sComponentName = "Image"},
|
|
txtPotentialCount = {nCount = 3, sComponentName = "TMP_Text"},
|
|
imgCharElement = {nCount = 3, sComponentName = "Image"},
|
|
imgIcon = {sComponentName = "Image"},
|
|
txtRating = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Template_Score"
|
|
}
|
|
}
|
|
ReengagementBDPreviewItemCtrl._mapEventConfig = {}
|
|
function ReengagementBDPreviewItemCtrl:Refresh(nTrialBuildId)
|
|
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(nTrialBuildId)
|
|
if self.mapBuildData == nil then
|
|
self.gameObject:SetActive(false)
|
|
return
|
|
end
|
|
self.gameObject:SetActive(true)
|
|
self:RefreshInfo()
|
|
self:RefreshChar()
|
|
end
|
|
function ReengagementBDPreviewItemCtrl:RefreshInfo()
|
|
local mapRank = self.mapBuildData.mapRank
|
|
if mapRank == nil then
|
|
mapRank = PlayerData.Build:CalBuildRank(self.mapBuildData.nScore or 0)
|
|
self.mapBuildData.mapRank = mapRank
|
|
end
|
|
if mapRank ~= nil then
|
|
local sScore = "Icon/BuildRank/BuildRank_" .. mapRank.Id
|
|
self:SetPngSprite(self._mapNode.imgIcon, sScore)
|
|
end
|
|
end
|
|
function ReengagementBDPreviewItemCtrl:RefreshChar()
|
|
for i = 1, 3 do
|
|
local mapCharData = self.mapBuildData.tbChar[i]
|
|
local nCharTid = mapCharData ~= nil and mapCharData.nTid or 0
|
|
local mapCharCfg = 0 < nCharTid and ConfigTable.GetData_Character(nCharTid) or nil
|
|
local nCharSkinId = 0 < nCharTid and PlayerData.Build:GetBuildCharSkinId(self.mapBuildData, mapCharData) or 0
|
|
local mapCharSkin = 0 < nCharSkinId and ConfigTable.GetData_CharacterSkin(nCharSkinId) or nil
|
|
local bShowChar = mapCharCfg ~= nil and mapCharSkin ~= nil
|
|
self._mapNode.imgCharIcon[i].gameObject:SetActive(bShowChar)
|
|
self._mapNode.imgCharFrame[i].gameObject:SetActive(bShowChar)
|
|
self._mapNode.txtPotentialCount[i].gameObject:SetActive(bShowChar)
|
|
self._mapNode.imgCharElement[i].gameObject:SetActive(bShowChar)
|
|
if bShowChar then
|
|
local sFrame = AllEnum.FrameType_New.BoardFrame .. AllEnum.BoardFrameColor[mapCharCfg.Grade]
|
|
self:SetPngSprite(self._mapNode.imgCharIcon[i], mapCharSkin.Icon, AllEnum.CharHeadIconSurfix.XXL)
|
|
self:SetAtlasSprite(self._mapNode.imgCharFrame[i], "12_rare", sFrame)
|
|
NovaAPI.SetTMPText(self._mapNode.txtPotentialCount[i], mapCharData.nPotentialCount or 0)
|
|
self:SetAtlasSprite(self._mapNode.imgCharElement[i], "12_rare", AllEnum.Char_Element[mapCharCfg.EET].icon)
|
|
end
|
|
end
|
|
end
|
|
function ReengagementBDPreviewItemCtrl:OnClickItem()
|
|
if self.mapBuildData == nil then
|
|
return
|
|
end
|
|
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(self.mapBuildData.nBuildId)
|
|
if self.mapBuildData == nil then
|
|
return
|
|
end
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.StarTowerBuildDetailPreview, self.mapBuildData)
|
|
end
|
|
return ReengagementBDPreviewItemCtrl
|