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,109 @@
|
||||
local InfinityTowerRewardList = class("InfinityTowerRewardList", BaseCtrl)
|
||||
local texNameColor = {
|
||||
Color(0.6980392156862745, 0.6588235294117647, 0.7647058823529411, 1),
|
||||
Color(0.4196078431372549, 0.2901960784313726, 0.6627450980392157, 1),
|
||||
Color(0.4196078431372549, 0.2901960784313726, 0.6627450980392157, 0.6980392156862745)
|
||||
}
|
||||
InfinityTowerRewardList._mapNodeConfig = {
|
||||
obj_rewardPoint_1 = {},
|
||||
obj_rewardPoint_2 = {},
|
||||
obj_RewardDone_1 = {},
|
||||
obj_RewardDone_2 = {},
|
||||
obj_RewardDone_3 = {},
|
||||
tex_RewardLayerCount = {sComponentName = "TMP_Text"},
|
||||
tex_RewardLayer = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "InfinityTower_Layer"
|
||||
},
|
||||
rewardItemRoot = {sComponentName = "Transform"},
|
||||
objRewardItem = {}
|
||||
}
|
||||
InfinityTowerRewardList._mapEventConfig = {}
|
||||
function InfinityTowerRewardList:Awake()
|
||||
self.rewardItem = {}
|
||||
end
|
||||
function InfinityTowerRewardList:UnbindAllGrids()
|
||||
for go, ctrl in ipairs(self.rewardItem) do
|
||||
self:UnbindCtrlByNode(ctrl)
|
||||
end
|
||||
self.rewardItem = {}
|
||||
end
|
||||
function InfinityTowerRewardList:OnDestroy()
|
||||
end
|
||||
function InfinityTowerRewardList:InitRewardList(towerId, floor, passLv, rewardLv)
|
||||
local isGet = floor <= rewardLv
|
||||
local isCan = floor <= passLv and rewardLv < floor
|
||||
local isDont = passLv < floor
|
||||
local cg = self.gameObject:GetComponent("CanvasGroup")
|
||||
if isGet then
|
||||
NovaAPI.SetCanvasGroupAlpha(cg, 0.6)
|
||||
else
|
||||
NovaAPI.SetCanvasGroupAlpha(cg, 1)
|
||||
end
|
||||
self._mapNode.obj_RewardDone_1:SetActive(isGet)
|
||||
self._mapNode.obj_RewardDone_2:SetActive(isCan)
|
||||
self._mapNode.obj_RewardDone_3:SetActive(isDont)
|
||||
if isGet then
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayerCount, texNameColor[1])
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayer, texNameColor[1])
|
||||
elseif isCan then
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayerCount, texNameColor[2])
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayer, texNameColor[2])
|
||||
else
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayerCount, texNameColor[3])
|
||||
NovaAPI.SetTMPColor(self._mapNode.tex_RewardLayer, texNameColor[3])
|
||||
end
|
||||
local tmpLv = "0"
|
||||
if floor < 10 then
|
||||
tmpLv = "00" .. floor
|
||||
elseif 10 <= floor and floor < 100 then
|
||||
tmpLv = "0" .. floor
|
||||
else
|
||||
tmpLv = tostring(floor)
|
||||
end
|
||||
NovaAPI.SetTMPText(self._mapNode.tex_RewardLayerCount, tmpLv)
|
||||
local lvData = PlayerData.InfinityTower:GetTowerLayerData(towerId, floor)
|
||||
local tbItem = {}
|
||||
local _base = decodeJson(lvData.BaseAwardPreview)
|
||||
for k, v in ipairs(_base) do
|
||||
table.insert(tbItem, {
|
||||
id = v[1],
|
||||
count = UTILS.ParseRewardItemCount(v)
|
||||
})
|
||||
end
|
||||
self:SetRewardItem(tbItem, isGet)
|
||||
self._mapNode.obj_rewardPoint_1:SetActive(lvData.LevelFunc ~= GameEnum.fixedRoguelikeFunc0.Boss)
|
||||
self._mapNode.obj_rewardPoint_2:SetActive(lvData.LevelFunc == GameEnum.fixedRoguelikeFunc0.Boss)
|
||||
end
|
||||
function InfinityTowerRewardList:SetRewardItem(tabItem, isGet)
|
||||
local childCount = self._mapNode.rewardItemRoot.childCount
|
||||
for i = 1, childCount do
|
||||
self._mapNode.rewardItemRoot:GetChild(i - 1).gameObject:SetActive(false)
|
||||
end
|
||||
local index = 1
|
||||
for i, v in pairs(tabItem) do
|
||||
local objItem
|
||||
if index > self._mapNode.rewardItemRoot.childCount then
|
||||
objItem = instantiate(self._mapNode.objRewardItem, self._mapNode.rewardItemRoot)
|
||||
else
|
||||
objItem = self._mapNode.rewardItemRoot:GetChild(index - 1).gameObject
|
||||
end
|
||||
local btn = objItem:GetComponent("UIButton")
|
||||
btn.onClick:RemoveAllListeners()
|
||||
local clickCb = function()
|
||||
self:ShowItemTips(v.id, btn.gameObject)
|
||||
end
|
||||
btn.onClick:AddListener(clickCb)
|
||||
objItem:SetActive(true)
|
||||
self.rewardItem[objItem] = self:BindCtrlByNode(objItem, "Game.UI.TemplateEx.TemplateItemCtrl")
|
||||
self.rewardItem[objItem]:SetItem(v.id, nil, v.count, nil, isGet, nil, nil, true)
|
||||
index = index + 1
|
||||
end
|
||||
end
|
||||
function InfinityTowerRewardList:ShowItemTips(nTid, rtBtn)
|
||||
UTILS.ClickItemGridWithTips(nTid, rtBtn, false, true, false)
|
||||
end
|
||||
function InfinityTowerRewardList:OnDisable()
|
||||
self:UnbindAllGrids()
|
||||
end
|
||||
return InfinityTowerRewardList
|
||||
Reference in New Issue
Block a user