5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
71 lines
3.2 KiB
Lua
71 lines
3.2 KiB
Lua
local TemplateSkillSelectCtrl = class("TemplateSkillSelectCtrl", BaseCtrl)
|
|
TemplateSkillSelectCtrl._mapNodeConfig = {
|
|
imgBg = {nCount = 2, sComponentName = "Image"},
|
|
imgIcon = {sComponentName = "Image"},
|
|
imgType = {sComponentName = "Image"},
|
|
txtSkillLevelTxt = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "CharacterSkill_Level"
|
|
},
|
|
txtSkillLevel = {nCount = 2, sComponentName = "TMP_Text"},
|
|
txtAddLv = {sComponentName = "TMP_Text"},
|
|
imgLv = {},
|
|
Select = {},
|
|
imgSelect = {},
|
|
animRoot = {sNodeName = "AnimRoot", sComponentName = "Animator"},
|
|
txtSkillName = {sComponentName = "TMP_Text"},
|
|
imgSkillTypeBg = {sComponentName = "Image"},
|
|
txtSkillType = {sComponentName = "TMP_Text"},
|
|
imgSkillType = {sComponentName = "Image"}
|
|
}
|
|
TemplateSkillSelectCtrl._mapEventConfig = {}
|
|
function TemplateSkillSelectCtrl:SetSkill(nSkillId, nSkillIndex, nSkillLevel, nElementType, nAddLv)
|
|
self._mapNode.Select:SetActive(false)
|
|
self._mapNode.imgLv.gameObject:SetActive(true)
|
|
self._mapNode.imgType.gameObject:SetActive(true)
|
|
local skillCfg = ConfigTable.GetData_Skill(nSkillId)
|
|
if nil == skillCfg then
|
|
printError("找不到技能配置!!技能id = " .. nSkillId)
|
|
return
|
|
end
|
|
local sName = AllEnum.ElementIconType.SkillEx .. nElementType
|
|
self:SetAtlasSprite(self._mapNode.imgBg[1], "12_rare", sName)
|
|
local skillShowCfg = AllEnum.SkillTypeShow[nSkillIndex]
|
|
local bgIconIndex = skillShowCfg.bgIconIndex
|
|
self:SetAtlasSprite(self._mapNode.imgBg[2], "10_ico", "zs_character_skill_" .. bgIconIndex)
|
|
local _, color = ColorUtility.TryParseHtmlString(AllEnum.SkillElementBgColor[nElementType])
|
|
NovaAPI.SetImageColor(self._mapNode.imgBg[2], Color(color.r, color.g, color.b, 0.19607843137254902))
|
|
local skillTypeIconIdx = skillShowCfg.iconIndex
|
|
self:SetAtlasSprite(self._mapNode.imgType, "05_language", "zs_character_skill_text_" .. skillTypeIconIdx)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgType)
|
|
self:SetPngSprite(self._mapNode.imgIcon, skillCfg.Icon)
|
|
local _, _color = ColorUtility.TryParseHtmlString(skillShowCfg.bgColor)
|
|
NovaAPI.SetImageColor(self._mapNode.imgSkillTypeBg, _color)
|
|
NovaAPI.SetTMPText(self._mapNode.txtSkillLevel[1], nSkillLevel)
|
|
NovaAPI.SetTMPText(self._mapNode.txtSkillLevel[2], nSkillLevel + nAddLv)
|
|
self._mapNode.txtAddLv.gameObject:SetActive(0 < nAddLv)
|
|
if 0 < nAddLv then
|
|
NovaAPI.SetTMPText(self._mapNode.txtAddLv, "(+" .. nAddLv .. ")")
|
|
end
|
|
NovaAPI.SetTMPText(self._mapNode.txtSkillName, skillCfg.Title)
|
|
self:SetAtlasSprite(self._mapNode.imgSkillType, "05_language", "zs_character_skill_text_" .. skillTypeIconIdx)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgSkillType)
|
|
NovaAPI.SetTMPText(self._mapNode.txtSkillType, ConfigTable.GetUIText(skillShowCfg.sLanguageId))
|
|
end
|
|
function TemplateSkillSelectCtrl:SetSelect(bSelect)
|
|
self._mapNode.imgSelect.gameObject:SetActive(bSelect)
|
|
self._mapNode.imgLv:SetActive(not bSelect)
|
|
self._mapNode.imgType.gameObject:SetActive(not bSelect)
|
|
if bSelect then
|
|
self._mapNode.Select:SetActive(true)
|
|
self._mapNode.animRoot:Play("tc_skill_char_select")
|
|
else
|
|
self._mapNode.animRoot:Play("tc_skill_char_close")
|
|
end
|
|
end
|
|
function TemplateSkillSelectCtrl:Awake()
|
|
end
|
|
function TemplateSkillSelectCtrl:OnDestroy()
|
|
end
|
|
return TemplateSkillSelectCtrl
|