35c8d87e86
EN: 1.4.0.73 CN: 1.4.0.74 JP: 1.4.0.77 KR: 1.4.0.80
170 lines
6.2 KiB
Lua
170 lines
6.2 KiB
Lua
local VampireLevelSelect_levelInfoGrid = class("VampireLevelSelect_levelInfoGrid", BaseCtrl)
|
|
VampireLevelSelect_levelInfoGrid._mapNodeConfig = {
|
|
TMPTitleZone = {sComponentName = "TMP_Text"},
|
|
imgElementInfo = {sComponentName = "Image", nCount = 3},
|
|
txtLeader = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Build_Leader"
|
|
},
|
|
txtSub = {
|
|
nCount = 2,
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Build_Sub"
|
|
},
|
|
txtBtnEnemyInfo = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Equipment_Instance_EnemyInfo"
|
|
},
|
|
imgLevelImg = {sComponentName = "Image"},
|
|
tcChar = {nCount = 3},
|
|
Monster = {
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateHeadCtrl",
|
|
nCount = 4
|
|
},
|
|
rtEmpty = {},
|
|
rtBuild = {},
|
|
TMPBuildSelectTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "RegionBoss_Manage_Title"
|
|
},
|
|
imgItemIcon = {sComponentName = "Image", nCount = 3},
|
|
imgItemRare = {sComponentName = "Image", nCount = 3},
|
|
txtRank = {sComponentName = "TMP_Text", nCount = 3},
|
|
txtLv = {sComponentName = "TMP_Text", nCount = 3},
|
|
TMPBuildRankTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Template_Score"
|
|
},
|
|
imgRankIcon = {sComponentName = "Image"},
|
|
btnChangeBuild = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_ChangeBuild"
|
|
},
|
|
btnSelectBuild = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_ChangeBuild"
|
|
},
|
|
btnRemoveBuild = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_RemoveBuild"
|
|
},
|
|
btnExchangeBuild = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_ExchangeBuild"
|
|
},
|
|
btnEnemyInfo = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_EnemyInfo"
|
|
}
|
|
}
|
|
VampireLevelSelect_levelInfoGrid._mapEventConfig = {}
|
|
VampireLevelSelect_levelInfoGrid._mapRedDotConfig = {}
|
|
function VampireLevelSelect_levelInfoGrid:Awake()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:FadeIn()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:FadeOut()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnEnable()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnDisable()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnDestroy()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnRelease()
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:Refresh(mapLevelData, mapBuildData, bFirstHalf)
|
|
self.bFirstHalf = bFirstHalf
|
|
self.mapLevelData = mapLevelData
|
|
local nPreviewMonsterGroupId = bFirstHalf and mapLevelData.FHPreviewMonsterGroupId or mapLevelData.SHPreviewMonsterGroupId
|
|
self.nPreviewMonsterGroupId = nPreviewMonsterGroupId
|
|
local sKey = bFirstHalf and "VampireTitle_FirstHalf" or "VampireTitle_SecondHalf"
|
|
NovaAPI.SetTMPText(self._mapNode.TMPTitleZone, ConfigTable.GetUIText(sKey))
|
|
local tbMonsterGroup
|
|
if nPreviewMonsterGroupId ~= nil then
|
|
local mapGroupCfgData = ConfigTable.GetData("PreviewMonsterGroup", nPreviewMonsterGroupId)
|
|
if mapGroupCfgData ~= nil then
|
|
tbMonsterGroup = mapGroupCfgData.MonsterIds
|
|
end
|
|
end
|
|
if tbMonsterGroup == nil then
|
|
tbMonsterGroup = {}
|
|
end
|
|
local comp = function(a, b)
|
|
local previewMonsterCfgA = ConfigTable.GetData("Monster", a)
|
|
local previewMonsterCfgB = ConfigTable.GetData("Monster", b)
|
|
if previewMonsterCfgA == nil or previewMonsterCfgB == nil then
|
|
return a < b
|
|
end
|
|
if previewMonsterCfgA.EpicLv ~= previewMonsterCfgB.EpicLv then
|
|
return previewMonsterCfgA.EpicLv < previewMonsterCfgB.EpicLv
|
|
else
|
|
return a < b
|
|
end
|
|
end
|
|
table.sort(tbMonsterGroup, comp)
|
|
for i = 1, 4 do
|
|
if tbMonsterGroup[i] == nil then
|
|
self._mapNode.Monster[i].gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.Monster[i].gameObject:SetActive(true)
|
|
self._mapNode.Monster[i]:SetMonsterHead(tbMonsterGroup[i])
|
|
end
|
|
end
|
|
local tbEET = self.bFirstHalf and mapLevelData.EETScore1 or mapLevelData.EETScore2
|
|
for i = 1, 3 do
|
|
if tbEET == nil or tbEET[i] == nil then
|
|
self._mapNode.imgElementInfo[i].gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.imgElementInfo[i].gameObject:SetActive(true)
|
|
self:SetAtlasSprite(self._mapNode.imgElementInfo[i], "12_rare", AllEnum.ElementIconType.Icon .. tbEET[i])
|
|
end
|
|
end
|
|
local sEpisode = self.bFirstHalf and self.mapLevelData.Episode or self.mapLevelData.Episode2
|
|
self:SetPngSprite(self._mapNode.imgLevelImg, sEpisode)
|
|
if mapBuildData == nil then
|
|
self._mapNode.rtEmpty:SetActive(true)
|
|
self._mapNode.rtBuild:SetActive(false)
|
|
else
|
|
self._mapNode.rtEmpty:SetActive(false)
|
|
self._mapNode.rtBuild:SetActive(true)
|
|
for i = 1, 3 do
|
|
if mapBuildData.tbChar[i] ~= nil then
|
|
self._mapNode.tcChar[i].gameObject:SetActive(true)
|
|
local mapChar = ConfigTable.GetData_Character(mapBuildData.tbChar[i].nTid)
|
|
local mapCharData = PlayerData.Char:GetCharDataByTid(mapBuildData.tbChar[i].nTid)
|
|
NovaAPI.SetTMPText(self._mapNode.txtRank[i], mapCharData.nLevel)
|
|
local nCharSkinId = mapCharData.nSkinId
|
|
local mapCharSkin = ConfigTable.GetData_CharacterSkin(nCharSkinId)
|
|
self:SetPngSprite(self._mapNode.imgItemIcon[i], mapCharSkin.Icon, AllEnum.CharHeadIconSurfix.XXL)
|
|
local nRarity = mapChar.Grade
|
|
local sFrame = AllEnum.FrameType_New.BoardFrame .. AllEnum.BoardFrameColor[nRarity == GameEnum.characterGrade.R and GameEnum.characterGrade.SR or nRarity]
|
|
self:SetAtlasSprite(self._mapNode.imgItemRare[i], "12_rare", sFrame, true)
|
|
else
|
|
self._mapNode.tcChar[i].gameObject:SetActive(false)
|
|
end
|
|
end
|
|
local sScore = "Icon/BuildRank/BuildRank_" .. mapBuildData.mapRank.Id
|
|
self:SetPngSprite(self._mapNode.imgRankIcon, sScore)
|
|
end
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnBtnClick_ChangeBuild()
|
|
local nIdx = self.bFirstHalf and 1 or 2
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.RogueBossBuildBrief, 7, self.mapLevelData.Id, nIdx, {})
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnBtnClick_ExchangeBuild()
|
|
PlayerData.VampireSurvivor:ExchangeBuild(self.mapLevelData.Id)
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnBtnClick_RemoveBuild()
|
|
local nIdx = self.bFirstHalf and 1 or 2
|
|
PlayerData.VampireSurvivor:CacheSelectedBuildId(self.mapLevelData.Id, nIdx, 0)
|
|
end
|
|
function VampireLevelSelect_levelInfoGrid:OnBtnClick_EnemyInfo()
|
|
local tbOverrideWeakEET
|
|
if self.mapLevelData.Type == GameEnum.vampireSurvivorType.Turn then
|
|
tbOverrideWeakEET = self.bFirstHalf and self.mapLevelData.EETScore1 or self.mapLevelData.EETScore2
|
|
end
|
|
EventManager.Hit("OpenVampireMonsterInfo", self.nPreviewMonsterGroupId, tbOverrideWeakEET)
|
|
end
|
|
return VampireLevelSelect_levelInfoGrid
|