Files
StellaSora_DataLua/lua/game/ui/commontipsex/skilltipsrelatedgridctrl.lua
T
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

64 lines
2.9 KiB
Lua

local ConfigData = require("GameCore.Data.ConfigData")
local SkillTipsRelatedGridCtrl = class("SkillTipsRelatedGridCtrl", BaseCtrl)
SkillTipsRelatedGridCtrl._mapNodeConfig = {
TMPRelatedSkillTitle = {sComponentName = "TMP_Text"},
TMPRelatedSkillLevel = {sComponentName = "TMP_Text"},
imgRelatedSkillBg = {sComponentName = "Image"},
imgRelatedSkillIcon = {sComponentName = "Image"},
TMPRelatedSkillDesc = {sComponentName = "TMP_Text"},
imgRelatedCDInfoBg = {},
imgRelatedEnergyInfoBg = {},
rtRelatedSkillInfo = {},
TMPRelatedEnergy = {sComponentName = "TMP_Text"},
TMPRelatedCD = {sComponentName = "TMP_Text"},
imgLine = {},
TMP_LinkRelatedSkill = {
sNodeName = "TMPRelatedSkillDesc",
sComponentName = "TMPHyperLink",
callback = "OnBtnClick_Word"
}
}
SkillTipsRelatedGridCtrl._mapEventConfig = {}
function SkillTipsRelatedGridCtrl:Refresh(nSkillId, nLevel, nElement, bLast)
local mapSkill = ConfigTable.GetData_Skill(nSkillId)
if mapSkill == nil then
printError("SkillId未找到:" .. nSkillId)
return
end
self:SetPngSprite(self._mapNode.imgRelatedSkillIcon, ConfigTable.GetData_Skill(nSkillId).Icon)
self:SetAtlasSprite(self._mapNode.imgRelatedSkillBg, "12_rare", AllEnum.ElementIconType.Skill .. nElement)
NovaAPI.SetTMPText(self._mapNode.TMPRelatedSkillTitle, mapSkill.Title)
NovaAPI.SetTMPText(self._mapNode.TMPRelatedSkillLevel, orderedFormat(ConfigTable.GetUIText("CommonTips_LevelFormat"), nLevel))
if mapSkill.Type == GameEnum.skillType.SKILL or mapSkill.Type == GameEnum.skillType.SUPPORT then
self._mapNode.imgRelatedCDInfoBg:SetActive(true)
self._mapNode.imgRelatedEnergyInfoBg:SetActive(false)
elseif mapSkill.Type == GameEnum.skillType.ULTIMATE then
self._mapNode.imgRelatedCDInfoBg:SetActive(true)
self._mapNode.imgRelatedEnergyInfoBg:SetActive(true)
else
self._mapNode.imgRelatedCDInfoBg:SetActive(false)
self._mapNode.imgRelatedEnergyInfoBg:SetActive(false)
self._mapNode.rtRelatedSkillInfo:SetActive(false)
end
local bHasSectionResumeTime = mapSkill.SectionResumeTime and mapSkill.SectionResumeTime ~= "" and mapSkill.SectionResumeTime ~= 0
local nCd = bHasSectionResumeTime and mapSkill.SectionResumeTime or mapSkill.SkillCD
local sCd = tostring(FormatNum(nCd * ConfigData.IntFloatPrecision)) .. ConfigTable.GetUIText("Talent_Sec")
if nCd <= 0 then
sCd = ConfigTable.GetUIText("Skill_NoCD")
end
NovaAPI.SetTMPText(self._mapNode.TMPRelatedCD, sCd)
NovaAPI.SetTMPText(self._mapNode.TMPRelatedEnergy, FormatNum(mapSkill.UltraEnergy * ConfigData.IntFloatPrecision))
local sDesc = UTILS.ParseDesc(mapSkill)
NovaAPI.SetTMPSourceText(self._mapNode.TMPRelatedSkillDesc, sDesc)
self._mapNode.imgLine:SetActive(not bLast)
end
function SkillTipsRelatedGridCtrl:OnBtnClick_Word(link, _, sWordId)
if self.parent ~= nil then
self.parent:OnBtnClick_Word(link, _, sWordId)
end
end
function SkillTipsRelatedGridCtrl:SetParent(parent)
self.parent = parent
end
return SkillTipsRelatedGridCtrl