5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
171 lines
6.3 KiB
Lua
171 lines
6.3 KiB
Lua
local VampireLevelSelect_levelInfo = class("VampireLevelSelect_levelInfo", BaseCtrl)
|
|
VampireLevelSelect_levelInfo._mapNodeConfig = {
|
|
imgBgLevel = {
|
|
nCount = 3,
|
|
sCtrlName = "Game.UI.VampireLevelSelect.VampireLevelSelect_levelInfoGrid"
|
|
},
|
|
TMPLevelName = {sComponentName = "TMP_Text"},
|
|
TMPOpenTime = {sComponentName = "TMP_Text"},
|
|
imgTimeBg = {},
|
|
txtRecommendLevel = {sComponentName = "TMP_Text"},
|
|
TMPRecommendLevelTitleGrid = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "InfinityTower_Recommend_Lv"
|
|
},
|
|
TMPRecommendBuildTitleGrid = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "InfinityTower_Recommend_Construct"
|
|
},
|
|
imgReconmendBuildGrid = {sComponentName = "Image"},
|
|
imgCardPackage = {sComponentName = "Image", nCount = 5},
|
|
imgSubIcon = {
|
|
sNodeName = "imgSubIcon_",
|
|
sComponentName = "Image",
|
|
nCount = 5
|
|
},
|
|
TMPRecPartTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_Rank_Recommend_Level"
|
|
},
|
|
TMPFCPartTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_RoomInfo_FateCard"
|
|
},
|
|
btnGo = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Go"
|
|
},
|
|
btnFateCardInfo = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_FateCardInfo"
|
|
},
|
|
TMPBtnPassQuest = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Vampire_Pass_QuestTitle"
|
|
},
|
|
TMPGoTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_Btn_Challenge"
|
|
},
|
|
goRedDotQuestLevelInfo = {},
|
|
rtQuest = {},
|
|
TMPQuest = {sComponentName = "TMP_Text", nCount = 3},
|
|
btnQuestStar = {sComponentName = "Button", nCount = 3}
|
|
}
|
|
VampireLevelSelect_levelInfo._mapEventConfig = {}
|
|
VampireLevelSelect_levelInfo._mapRedDotConfig = {
|
|
[RedDotDefine.VampireQuest] = {
|
|
sNodeName = "goRedDotQuestLevelInfo"
|
|
}
|
|
}
|
|
function VampireLevelSelect_levelInfo:Awake()
|
|
end
|
|
function VampireLevelSelect_levelInfo:FadeIn()
|
|
end
|
|
function VampireLevelSelect_levelInfo:FadeOut()
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnEnable()
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnDisable()
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnDestroy()
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnRelease()
|
|
end
|
|
function VampireLevelSelect_levelInfo:Refresh(nLevelId, mapBuild1, mapBuild2)
|
|
self.mapBuild1 = mapBuild1
|
|
self.mapBuild2 = mapBuild2
|
|
self.nLevelId = nLevelId
|
|
local mapLevelData = ConfigTable.GetData("VampireSurvivor", nLevelId)
|
|
if mapLevelData == nil then
|
|
return
|
|
end
|
|
self.bSingle = mapLevelData.Mode == GameEnum.vampireSurvivorMode.Single
|
|
self._mapNode.imgTimeBg:SetActive(mapLevelData.Type == GameEnum.vampireSurvivorType.Turn)
|
|
self._mapNode.rtQuest:SetActive(mapLevelData.Type ~= GameEnum.vampireSurvivorType.Turn)
|
|
if mapLevelData.Type ~= GameEnum.vampireSurvivorType.Turn then
|
|
local tbQuestId = CacheTable.GetData("_VampireQuestGroup", mapLevelData.FirstQuestGroupId)
|
|
if tbQuestId == nil then
|
|
tbQuestId = {}
|
|
end
|
|
for i = 1, 3 do
|
|
self._mapNode.TMPQuest[i].gameObject:SetActive(tbQuestId[i] ~= nil)
|
|
self._mapNode.btnQuestStar[i].interactable = PlayerData.Quest:GetVampireQuestStatusById(tbQuestId[i]) > 0
|
|
if tbQuestId[i] ~= nil then
|
|
local mapQuestCfgData = ConfigTable.GetData("VampireSurvivorQuest", tbQuestId[i])
|
|
if mapQuestCfgData == nil then
|
|
self._mapNode.TMPQuest[i].gameObject:SetActive(false)
|
|
else
|
|
NovaAPI.SetTMPText(self._mapNode.TMPQuest[i], mapQuestCfgData.Title)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
NovaAPI.SetTMPText(self._mapNode.TMPOpenTime, orderedFormat(ConfigTable.GetUIText("Vampire_LevelOpenTime"), PlayerData.VampireSurvivor:GetRefreshTiem()))
|
|
NovaAPI.SetTMPText(self._mapNode.TMPLevelName, mapLevelData.Name)
|
|
if self.bSingle then
|
|
self._mapNode.imgBgLevel[3].gameObject:SetActive(true)
|
|
self._mapNode.imgBgLevel[3]:Refresh(mapLevelData, self.mapBuild1, true)
|
|
self._mapNode.imgBgLevel[1].gameObject:SetActive(false)
|
|
self._mapNode.imgBgLevel[2].gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.imgBgLevel[1].gameObject:SetActive(true)
|
|
self._mapNode.imgBgLevel[2].gameObject:SetActive(true)
|
|
self._mapNode.imgBgLevel[1]:Refresh(mapLevelData, self.mapBuild1, true)
|
|
self._mapNode.imgBgLevel[2]:Refresh(mapLevelData, self.mapBuild2, false)
|
|
self._mapNode.imgBgLevel[3].gameObject:SetActive(false)
|
|
end
|
|
NovaAPI.SetTMPText(self._mapNode.txtRecommendLevel, mapLevelData.SuggestedPower)
|
|
local rBuildRank = mapLevelData.RecommendBuildRank
|
|
local sScore = "Icon/BuildRank/BuildRank_" .. rBuildRank
|
|
self:SetPngSprite(self._mapNode.imgReconmendBuildGrid, sScore)
|
|
local tbBunldle = {}
|
|
if mapLevelData.Type == GameEnum.vampireSurvivorType.Turn then
|
|
local nSeasonId = PlayerData.VampireSurvivor:GetCurSeason()
|
|
local mapSeason = ConfigTable.GetData("VampireRankSeason", nSeasonId)
|
|
if mapSeason ~= nil then
|
|
tbBunldle = mapSeason.FateCardBundle
|
|
end
|
|
else
|
|
tbBunldle = mapLevelData.FateCardBundle
|
|
end
|
|
for i = 1, 5 do
|
|
if tbBunldle[i] ~= nil then
|
|
local mapBundleCfg = ConfigTable.GetData("StarTowerBookFateCardBundle", tbBunldle[i])
|
|
if mapBundleCfg == nil then
|
|
self._mapNode.imgCardPackage[i].gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.imgCardPackage[i].gameObject:SetActive(true)
|
|
self:SetPngSprite(self._mapNode.imgCardPackage[i], mapBundleCfg.Icon .. AllEnum.FateCardBundleIcon.S)
|
|
self:SetAtlasSprite(self._mapNode.imgSubIcon[i], "05_language", mapBundleCfg.Text)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgSubIcon[i])
|
|
end
|
|
else
|
|
self._mapNode.imgCardPackage[i].gameObject:SetActive(false)
|
|
end
|
|
end
|
|
end
|
|
function VampireLevelSelect_levelInfo:SetRefreshTime()
|
|
NovaAPI.SetTMPText(self._mapNode.TMPOpenTime, orderedFormat(ConfigTable.GetUIText("Vampire_LevelOpenTime"), PlayerData.VampireSurvivor:GetRefreshTiem()))
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnBtnClick_Go()
|
|
if self.bSingle then
|
|
if self.mapBuild1 == nil then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Vampire_SingleBuildHint"))
|
|
return
|
|
end
|
|
PlayerData.VampireSurvivor:EnterVampireSurvivor(self.nLevelId, self.mapBuild1.nBuildId, -1)
|
|
else
|
|
if self.mapBuild1 == nil or self.mapBuild2 == nil then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("VampireBuild_Hint"))
|
|
return
|
|
end
|
|
PlayerData.VampireSurvivor:EnterVampireSurvivor(self.nLevelId, self.mapBuild1.nBuildId, self.mapBuild2.nBuildId)
|
|
end
|
|
EventManager.Hit("EnterVampireSurvivor")
|
|
end
|
|
function VampireLevelSelect_levelInfo:OnBtnClick_FateCardInfo()
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.VampireSurvivorFateCardInfo, self.nLevelId)
|
|
end
|
|
return VampireLevelSelect_levelInfo
|