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,137 @@
|
||||
local DepotDiscSkillItemCtrl = class("DepotDiscSkillItemCtrl", BaseCtrl)
|
||||
DepotDiscSkillItemCtrl._mapNodeConfig = {
|
||||
imgNone = {},
|
||||
goInfo = {},
|
||||
imgIcon = {sComponentName = "Image"},
|
||||
imgIconBg = {sComponentName = "Image"},
|
||||
txtName = {sComponentName = "TMP_Text"},
|
||||
txtLevelMax = {sComponentName = "TMP_Text"},
|
||||
txtLevel = {sComponentName = "TMP_Text"},
|
||||
goNote = {
|
||||
sCtrlName = "Game.UI.TemplateEx.TemplateDiscMultiNoteCtrl"
|
||||
},
|
||||
imgLock = {},
|
||||
imgChoose = {}
|
||||
}
|
||||
DepotDiscSkillItemCtrl._mapEventConfig = {}
|
||||
DepotDiscSkillItemCtrl._mapRedDotConfig = {}
|
||||
function DepotDiscSkillItemCtrl:SetNone()
|
||||
self._mapNode.imgNone:SetActive(true)
|
||||
self._mapNode.goInfo:SetActive(false)
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:SetSkillInfo(skillCfg)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtName, skillCfg.Name)
|
||||
self:SetPngSprite(self._mapNode.imgIcon, skillCfg.Icon .. AllEnum.DiscSkillIconSurfix.Small)
|
||||
self:SetPngSprite(self._mapNode.imgIconBg, skillCfg.IconBg .. AllEnum.DiscSkillIconSurfix.Small)
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscSkill(mapSkill)
|
||||
self._mapNode.imgNone:SetActive(false)
|
||||
self._mapNode.goInfo:SetActive(true)
|
||||
if mapSkill.nType == AllEnum.DiscSkillType.Common then
|
||||
self:InitDiscCommonSkill(mapSkill)
|
||||
else
|
||||
self:InitDiscPassiveSkill(mapSkill)
|
||||
end
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscCommonSkill(mapSkill)
|
||||
self._mapNode.imgChoose.gameObject:SetActive(false)
|
||||
local skillCfg = ConfigTable.GetData("DiscCommonSkill", mapSkill.nId)
|
||||
if skillCfg == nil then
|
||||
return
|
||||
end
|
||||
self:SetSkillInfo(skillCfg)
|
||||
local nLevel = mapSkill.nLevel
|
||||
local nMaxLevel = mapSkill.nMaxLevel
|
||||
local bMaxLv = nMaxLevel == nLevel
|
||||
self._mapNode.txtLevelMax.gameObject:SetActive(bMaxLv)
|
||||
self._mapNode.txtLevel.gameObject:SetActive(not bMaxLv)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevel, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_Lv"), nLevel, nMaxLevel))
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevelMax, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_MaxLv"), nLevel, nMaxLevel))
|
||||
local bUnlock = mapSkill.nLevel > 0
|
||||
self._mapNode.imgLock.gameObject:SetActive(not bUnlock)
|
||||
local nLayer = nLevel == 0 and 1 or nLevel
|
||||
self._mapNode.goNote:SetNoteItem(skillCfg.ActiveNoteType, skillCfg.ActiveNoteNum[nLayer])
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscPassiveSkill(mapSkill)
|
||||
self._mapNode.imgChoose.gameObject:SetActive(false)
|
||||
local skillCfg = ConfigTable.GetData("DiscPassiveSkill", mapSkill.nId)
|
||||
if skillCfg == nil then
|
||||
return
|
||||
end
|
||||
self:SetSkillInfo(skillCfg)
|
||||
local nLevel = mapSkill.nLevel
|
||||
local nMaxLevel = mapSkill.nMaxLevel
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevel, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_Lv"), nLevel, nMaxLevel))
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevelMax, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_MaxLv"), nLevel, nMaxLevel))
|
||||
local bUnlock = 0 < nLevel
|
||||
local bMaxLv = nLevel == nMaxLevel
|
||||
self._mapNode.imgLock.gameObject:SetActive(not bUnlock)
|
||||
self._mapNode.txtLevelMax.gameObject:SetActive(bMaxLv)
|
||||
self._mapNode.txtLevel.gameObject:SetActive(not bMaxLv)
|
||||
local nLayer = nLevel == 0 and 1 or nLevel
|
||||
local tbLayerNote = decodeJson(skillCfg["ActiveParam" .. nLayer])
|
||||
local tbNoteId = {}
|
||||
local nNoteCount = 0
|
||||
for k, v in pairs(tbLayerNote) do
|
||||
local nNoteId = tonumber(k)
|
||||
local nCount = tonumber(v)
|
||||
if nNoteId then
|
||||
nNoteCount = nNoteCount + nCount
|
||||
table.insert(tbNoteId, nNoteId)
|
||||
end
|
||||
end
|
||||
self._mapNode.goNote:SetNoteItem(tbNoteId, nNoteCount)
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:SetSelect(bSelect)
|
||||
self._mapNode.imgChoose.gameObject:SetActive(bSelect)
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscSkillTips(tbSkill)
|
||||
if tbSkill.nType == AllEnum.DiscSkillType.Common then
|
||||
self:InitDiscCommonSkillTip(tbSkill)
|
||||
else
|
||||
self:InitDiscPassiveSkillTip(tbSkill)
|
||||
end
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscCommonSkillTip(tbSkill)
|
||||
local skillCfg = ConfigTable.GetData("DiscCommonSkill", tbSkill.nId)
|
||||
if skillCfg == nil then
|
||||
return
|
||||
end
|
||||
self:SetSkillInfo(skillCfg)
|
||||
local nLevel = tbSkill.nLevel
|
||||
local bMaxLv = tbSkill.nMaxLevel == nLevel
|
||||
self._mapNode.txtLevelMax.gameObject:SetActive(bMaxLv)
|
||||
self._mapNode.txtLevel.gameObject:SetActive(not bMaxLv)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevel, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_Lv"), nLevel, tbSkill.nMaxLevel))
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevelMax, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_MaxLv"), nLevel, tbSkill.nMaxLevel))
|
||||
local nLayer = nLevel == 0 and 1 or nLevel
|
||||
self._mapNode.goNote:SetNoteItem(skillCfg.ActiveNoteType, skillCfg.ActiveNoteNum[nLayer])
|
||||
end
|
||||
function DepotDiscSkillItemCtrl:InitDiscPassiveSkillTip(mapSkill)
|
||||
local skillCfg = ConfigTable.GetData("DiscPassiveSkill", mapSkill.nId)
|
||||
if skillCfg == nil then
|
||||
return
|
||||
end
|
||||
self:SetSkillInfo(skillCfg)
|
||||
local nLevel = mapSkill.nLevel
|
||||
local nMaxLevel = mapSkill.nMaxLevel
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevel, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_Lv"), nLevel, nMaxLevel))
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevelMax, orderedFormat(ConfigTable.GetUIText("StarTower_Depot_Note_Skill_MaxLv"), nLevel, nMaxLevel))
|
||||
local bMaxLv = nLevel == nMaxLevel
|
||||
self._mapNode.txtLevelMax.gameObject:SetActive(bMaxLv)
|
||||
self._mapNode.txtLevel.gameObject:SetActive(not bMaxLv)
|
||||
local nLayer = nLevel == 0 and 1 or nLevel
|
||||
local tbLayerNote = decodeJson(skillCfg["ActiveParam" .. nLayer])
|
||||
local tbNoteId = {}
|
||||
local nNoteCount = 0
|
||||
for k, v in pairs(tbLayerNote) do
|
||||
local nNoteId = tonumber(k)
|
||||
local nCount = tonumber(v)
|
||||
if nNoteId then
|
||||
nNoteCount = nNoteCount + nCount
|
||||
table.insert(tbNoteId, nNoteId)
|
||||
end
|
||||
end
|
||||
self._mapNode.goNote:SetNoteItem(tbNoteId, nNoteCount)
|
||||
end
|
||||
return DepotDiscSkillItemCtrl
|
||||
Reference in New Issue
Block a user