Files
SL1900 5e0d58cfad 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
2025-12-03 01:00:00 +09:00

73 lines
2.2 KiB
Lua

local BuildDiscSkillCtrl = class("BuildDiscSkillCtrl", BaseCtrl)
BuildDiscSkillCtrl._mapNodeConfig = {
btnDiscSkill = {
sComponentName = "UIButton",
callback = "OnBtnClick_Tips"
},
goSkillNone = {},
imgDiscSkillIcon = {sComponentName = "Image"},
imgDiscSkillIconBg = {nCount = 2, sComponentName = "Image"},
txtDiscSkillLv = {sComponentName = "TMP_Text", sLanguageId = "Lv"},
txtDiscSkillLevel = {sComponentName = "TMP_Text"},
goSkillOff = {}
}
BuildDiscSkillCtrl._mapEventConfig = {}
function BuildDiscSkillCtrl:Refresh(mapSkill, card)
self.mapSkill = mapSkill
self.card = card
local bEmpty = not self.mapSkill
self._mapNode.goSkillNone:SetActive(bEmpty)
self._mapNode.imgDiscSkillIcon.gameObject:SetActive(not bEmpty)
self._mapNode.imgDiscSkillIconBg[1].gameObject:SetActive(not bEmpty)
self._mapNode.txtDiscSkillLv.gameObject:SetActive(not bEmpty)
self._mapNode.goSkillOff:SetActive(not bEmpty)
if bEmpty then
return
end
local skillCfg
if mapSkill.nType == AllEnum.DiscSkillType.Common then
skillCfg = ConfigTable.GetData("DiscCommonSkill", mapSkill.nId)
else
skillCfg = ConfigTable.GetData("DiscPassiveSkill", mapSkill.nId)
end
if skillCfg == nil then
return
end
for i = 1, 2 do
self:SetPngSprite(self._mapNode.imgDiscSkillIconBg[i], skillCfg.IconBg)
end
self:SetPngSprite(self._mapNode.imgDiscSkillIcon, skillCfg.Icon)
local bUnlock = mapSkill.nLevel > 0
self._mapNode.goSkillOff:SetActive(not bUnlock)
self._mapNode.txtDiscSkillLv.gameObject:SetActive(bUnlock)
if bUnlock then
NovaAPI.SetTMPText(self._mapNode.txtDiscSkillLevel, mapSkill.nLevel)
end
end
function BuildDiscSkillCtrl:Awake()
end
function BuildDiscSkillCtrl:OnEnable()
end
function BuildDiscSkillCtrl:OnDisable()
end
function BuildDiscSkillCtrl:OnDestroy()
end
function BuildDiscSkillCtrl:OnRelease()
end
function BuildDiscSkillCtrl:OnBtnClick_Tips(btn)
if not self.mapSkill then
return
end
local callback = function()
local mapData = {
nType = self.mapSkill.nType,
nSkillId = self.mapSkill.nId,
nLevel = self.mapSkill.nLevel,
nMaxLevel = self.mapSkill.nMaxLevel
}
EventManager.Hit(EventId.OpenPanel, PanelId.DiscSkillTips, btn.transform, mapData)
end
EventManager.Hit("BuildClickDiscSkill", self.card, callback)
end
return BuildDiscSkillCtrl