5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
78 lines
2.2 KiB
Lua
78 lines
2.2 KiB
Lua
local AffinityRewardGridCtrl = class("AffinityRewardGridCtrl", BaseCtrl)
|
|
AffinityRewardGridCtrl._mapNodeConfig = {
|
|
rt_item = {
|
|
nCount = 3,
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
|
|
},
|
|
rtUnlock = {},
|
|
rtLock = {},
|
|
imgHead = {sComponentName = "Image"},
|
|
TMPUnreceived = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "NPCAffinity_Received"
|
|
},
|
|
TMPReceived = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "NPCAffinity_Unreceived"
|
|
},
|
|
txtLevelName = {
|
|
sComponentName = "TMP_Text",
|
|
nCount = 2,
|
|
sLanguageId = "Dating_Affinity_Level"
|
|
},
|
|
txtLevel = {sComponentName = "TMP_Text", nCount = 2},
|
|
btnItem = {
|
|
sComponentName = "UIButton",
|
|
nCount = 3,
|
|
callback = "OnBtnClick_RewardItem"
|
|
}
|
|
}
|
|
AffinityRewardGridCtrl._mapEventConfig = {}
|
|
AffinityRewardGridCtrl._mapRedDotConfig = {}
|
|
function AffinityRewardGridCtrl:Awake()
|
|
end
|
|
function AffinityRewardGridCtrl:FadeIn()
|
|
end
|
|
function AffinityRewardGridCtrl:FadeOut()
|
|
end
|
|
function AffinityRewardGridCtrl:OnEnable()
|
|
end
|
|
function AffinityRewardGridCtrl:OnDisable()
|
|
end
|
|
function AffinityRewardGridCtrl:OnDestroy()
|
|
end
|
|
function AffinityRewardGridCtrl:OnRelease()
|
|
end
|
|
function AffinityRewardGridCtrl:Refresh(mapCfgData, mapAffinity)
|
|
NovaAPI.SetTMPText(self._mapNode.txtLevel[1], mapCfgData.Level)
|
|
NovaAPI.SetTMPText(self._mapNode.txtLevel[2], mapCfgData.Level)
|
|
self:SetPngSprite(self._mapNode.imgHead, mapCfgData.Icon)
|
|
local mapReward = decodeJson(mapCfgData.Reward)
|
|
local tbReward = {}
|
|
for nTid, nCount in pairs(mapReward) do
|
|
table.insert(tbReward, {
|
|
tonumber(nTid),
|
|
tonumber(nCount)
|
|
})
|
|
end
|
|
local sort = function(a, b)
|
|
return a[1] < b[1]
|
|
end
|
|
table.sort(tbReward, sort)
|
|
self.tbReward = tbReward
|
|
for i = 1, 3 do
|
|
if tbReward[i] ~= nil then
|
|
self._mapNode.rt_item[i].gameObject:SetActive(true)
|
|
self._mapNode.rt_item[i]:SetItem(tbReward[i][1], nil, tbReward[i][2], nil, false, false, false, true, false)
|
|
else
|
|
self._mapNode.rt_item[i].gameObject:SetActive(false)
|
|
end
|
|
end
|
|
self._mapNode.rtUnlock:SetActive(mapCfgData.Level <= mapAffinity.Level)
|
|
self._mapNode.rtLock:SetActive(mapCfgData.Level > mapAffinity.Level)
|
|
end
|
|
function AffinityRewardGridCtrl:OnBtnClick_RewardItem(btn, nIdx)
|
|
UTILS.ClickItemGridWithTips(self.tbReward[nIdx][1], btn.gameObject, true, true, true)
|
|
end
|
|
return AffinityRewardGridCtrl
|