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
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
local GameResourceLoader = require("Game.Common.Resource.GameResourceLoader")
|
||||
local ResType = GameResourceLoader.ResType
|
||||
local InfinityTowerDifficultyItem = class("InfinityTowerDifficultyItem", BaseCtrl)
|
||||
InfinityTowerDifficultyItem._mapNodeConfig = {
|
||||
diff_Bg = {sComponentName = "Image"},
|
||||
diff_Pass_All = {},
|
||||
diff_Name = {sComponentName = "TMP_Text"},
|
||||
diff_NameSpecial = {sComponentName = "TMP_Text"},
|
||||
diff_Special = {},
|
||||
diff_SpecialTex = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "InfinityTower_SpecialLv"
|
||||
},
|
||||
diff_lv_txtReLv = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "InfinityTower_Recommend_Lv"
|
||||
},
|
||||
diff_lv_txtReLvCount = {sComponentName = "TMP_Text"},
|
||||
diff_lv_txtConstructLv = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "InfinityTower_Recommend_Construct"
|
||||
},
|
||||
diff_img_rank = {sComponentName = "Image"},
|
||||
diff_Lock_Bg = {},
|
||||
diff_Tex_Lock = {sComponentName = "TMP_Text"},
|
||||
diff_btn = {sComponentName = "UIButton", callback = "OnBtnDiff"}
|
||||
}
|
||||
InfinityTowerDifficultyItem._mapEventConfig = {}
|
||||
function InfinityTowerDifficultyItem:InitDiffList(towerId, diffSort, parent)
|
||||
self.parent = parent
|
||||
local data = PlayerData.InfinityTower:GetTowerDiffData(towerId, diffSort)
|
||||
self.towerId = towerId
|
||||
self.diffSort = diffSort
|
||||
NovaAPI.SetTMPText(self._mapNode.diff_Name, data.diff.Name)
|
||||
NovaAPI.SetTMPText(self._mapNode.diff_NameSpecial, data.diff.Name)
|
||||
NovaAPI.SetTMPText(self._mapNode.diff_lv_txtReLvCount, data.diff.RecommendLevel)
|
||||
local sRank = "Icon/BuildRank/BuildRank_" .. data.diff.RecommendBuildRank
|
||||
self:SetPngSprite(self._mapNode.diff_img_rank, sRank)
|
||||
local nWorldClass = PlayerData.Base:GetWorldClass()
|
||||
local firstLvId = 0
|
||||
if data.level[data.firstFloor] then
|
||||
firstLvId = data.level[data.firstFloor].Id
|
||||
end
|
||||
self.isFirstLvCanChallenge = PlayerData.InfinityTower:JudgeLevelCanChallenge(towerId, firstLvId)
|
||||
self.isFirstLvPass = PlayerData.InfinityTower:JudgeLevelPass(towerId, firstLvId)
|
||||
self.isLock = nWorldClass < data.diff.UnlockWorldClass
|
||||
self._mapNode.diff_Lock_Bg:SetActive(false)
|
||||
if self.isLock then
|
||||
self._mapNode.diff_Lock_Bg:SetActive(true)
|
||||
NovaAPI.SetTMPText(self._mapNode.diff_Tex_Lock, data.diff.UnlockTips)
|
||||
elseif not self.isFirstLvCanChallenge and not self.isFirstLvPass then
|
||||
self._mapNode.diff_Lock_Bg:SetActive(true)
|
||||
NovaAPI.SetTMPText(self._mapNode.diff_Tex_Lock, ConfigTable.GetUIText("InfinityTower_Bounty_Last_NotPass"))
|
||||
end
|
||||
self._mapNode.diff_Special:SetActive(data.diff.IsChallenge)
|
||||
self._mapNode.diff_Name.gameObject:SetActive(not data.diff.IsChallenge)
|
||||
self._mapNode.diff_NameSpecial.gameObject:SetActive(data.diff.IsChallenge)
|
||||
local diffPassAll = PlayerData.InfinityTower:GetTowerDiffPassAll(towerId, diffSort)
|
||||
self._mapNode.diff_Pass_All:SetActive(diffPassAll)
|
||||
local sPath = "Icon/MapChallenge/zs_infinitytower_rank_0" .. towerId - 1
|
||||
NovaAPI.SetImageSprite(self._mapNode.diff_Bg, Settings.AB_ROOT_PATH .. sPath .. ".png")
|
||||
end
|
||||
function InfinityTowerDifficultyItem:OnBtnDiff()
|
||||
if self.isLock then
|
||||
local data = PlayerData.InfinityTower:GetTowerDiffData(self.towerId, self.diffSort)
|
||||
local strTips = data.diff.UnlockTips
|
||||
EventManager.Hit(EventId.OpenMessageBox, strTips)
|
||||
return
|
||||
end
|
||||
if not self.isFirstLvCanChallenge and not self.isFirstLvPass then
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("InfinityTower_Bounty_Last_NotPass"))
|
||||
return
|
||||
end
|
||||
self.parent:InfinitySelectTower(self.towerId, self.diffSort)
|
||||
local func = function()
|
||||
EventManager.Hit(EventId.SetTransition)
|
||||
end
|
||||
EventManager.Hit(EventId.SetTransition, 9, func)
|
||||
end
|
||||
function InfinityTowerDifficultyItem:OnDestroy()
|
||||
self.parent = nil
|
||||
end
|
||||
return InfinityTowerDifficultyItem
|
||||
Reference in New Issue
Block a user