diff --git a/lua/app/ui/hero/hero_detail_ui.lua b/lua/app/ui/hero/hero_detail_ui.lua index 1cb4b215..246a5174 100644 --- a/lua/app/ui/hero/hero_detail_ui.lua +++ b/lua/app/ui/hero/hero_detail_ui.lua @@ -103,6 +103,33 @@ function HeroDetailUI:onLoadRootComplete() end) end + self.skillBg = uiMap["hero_detail_ui.top.bg_1.skill_node"] + self.skillBg = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_bg"] + self.imgSkill = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_bg.skill_icon"] + self.skillNameTx = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_bg.skill_name_tx"] + self.skill = {} + self.skillIcon = {} + self.skillDescTxs = {} + self.skillNeedStarNodes = {} + self.skillNeedStarDescTx1s = {} + self.skillNeedStarStarImgs = {} + self.skillNeedStarDescTx2s = {} + for i = 1, 4 do + self.skill[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i] + self.skillIcon[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".icon"] + self.skillDescTxs[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".desc_tx"] + self.skillNeedStarNodes[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".need_star_node"] + self.skillNeedStarDescTx1s[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".need_star_node.desc_tx_1"] + self.skillNeedStarStarImgs[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".need_star_node.star_img"] + self.skillNeedStarDescTx2s[i] = uiMap["hero_detail_ui.top.bg_1.skill_node.skill_up_" .. i .. ".need_star_node.desc_tx_2"] + end + self.skillBg:addClickListener(function() + local cfg = ConfigManager:getConfig("skill")[self.heroEntity:getBaseSkill()] + if cfg.buff_id and #cfg.buff_id > 0 then + ModuleManager.TipsManager:showSkillTips(self.skillBg, cfg.buff_id) + end + end) + self.lvUpVfxs = {} for i = 1, 5 do self.lvUpVfxs[i] = uiMap["hero_detail_ui.top.vfx_c1_ui_uplight_b0" .. i] @@ -175,6 +202,7 @@ function HeroDetailUI:onRefresh(checkLevel) self:updateHero() self:updateSide() self:refreshPageInfo() + self:refreshSkillInfo() self:checkLvUp(checkLevel) end @@ -235,6 +263,82 @@ function HeroDetailUI:updateHero() self.qltBgTx:setText(GFunc.getHeroQltStr(qlt)) end +function HeroDetailUI:refreshSkillInfo() + local skillId = self.heroEntity:getBaseSkill() + self.skillNameTx:setText(ModuleManager.HeroManager:getSkillName(skillId)) + -- self.txSkill:setText(ModuleManager.HeroManager:getSkillDesc(skillId)) + self.imgSkill:setSprite(GConst.ATLAS_PATH.ICON_SKILL, ModuleManager.HeroManager:getSkillIcon(skillId)) + + local skillList = self.heroEntity:getRogueSkillList() + local lv = self.heroEntity:getLv() + local star = self.heroEntity:getStar() + for i = 1, 4 do + local skillInfo = skillList[i] + if skillInfo then + local skillUnlcokStar = skillInfo[1] + local skillId = skillInfo[2] + local skillBg = self.skill[i] + local skillIcon = self.skillIcon[i] + local nextLvUpStar = self.heroEntity:getNextRougeLvUp(i) + skillBg:addClickListener(function() + local cfg = ConfigManager:getConfig("skill_rogue")[skillId] + -- ModuleManager.TipsManager:showSkillTips(skillIcon, cfg.buff_id, skillId) + ModuleManager.HeroManager:showHeroSkillInfoUI(self.heroEntity, i, cfg.buff_id) + end) + skillIcon:setSprite(GConst.ATLAS_PATH.ICON_SKILL_ROGUE, ModuleManager.HeroManager:getSkillRogueIcon(skillId)) + skillBg:setTouchEnable(true) + if skillUnlcokStar > star then + self.skillNeedStarNodes[i]:setActive(true) + local nextStar = (skillUnlcokStar - 1)%5 + 1 + self.skillNeedStarDescTx1s[i]:setText(nextStar) + local meshProComp = self.skillNeedStarDescTx1s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + local contentWidth = meshProComp.preferredWidth + self.skillNeedStarDescTx1s[i]:setSizeDeltaX(contentWidth) + local starType = math.ceil(skillUnlcokStar / 5) + self.skillNeedStarStarImgs[i]:setSprite(GFunc.getStarImg(starType)) + self.skillNeedStarDescTx2s[i]:setText(I18N:getGlobalText(I18N.GlobalConst.STR_UNLOCK)) + local meshProComp = self.skillNeedStarDescTx2s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + local contentWidth = meshProComp.preferredWidth + self.skillNeedStarDescTx2s[i]:setSizeDeltaX(contentWidth) + self.skillNeedStarNodes[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() + + skillBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_1") + else + if nextLvUpStar then + self.skillNeedStarNodes[i]:setActive(true) + local nextStar = (nextLvUpStar - 1)%5 + 1 + self.skillNeedStarDescTx1s[i]:setText(nextStar) + local meshProComp = self.skillNeedStarDescTx1s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + local contentWidth = meshProComp.preferredWidth + self.skillNeedStarDescTx1s[i]:setSizeDeltaX(contentWidth) + local starType = math.ceil(nextLvUpStar / 5) + self.skillNeedStarStarImgs[i]:setSprite(GFunc.getStarImg(starType)) + self.skillNeedStarDescTx2s[i]:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_17)) + local meshProComp = self.skillNeedStarDescTx2s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + local contentWidth = meshProComp.preferredWidth + self.skillNeedStarDescTx2s[i]:setSizeDeltaX(contentWidth) + self.skillNeedStarNodes[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() + else + self.skillNeedStarNodes[i]:setActive(false) + end + skillBg:setSprite(GConst.ATLAS_PATH.ICON_SKILL_ROGUE, ModuleManager.HeroManager:getSkillRogueBg(skillId, true)) + end + end + end + + -- local needPop, isUnlock, skillIdx = self.heroEntity:checkSkillUnlock() + -- if needPop then + -- self.baseObject:performWithDelayGlobal(function() + -- local skillInfo = skillList[skillIdx] + -- if skillInfo then + -- local skillId = skillInfo[2] + -- local cfg = ConfigManager:getConfig("skill_rogue")[skillId] + -- ModuleManager.HeroManager:showHeroSkillInfoUI(self.heroEntity, skillIdx, cfg.buff_id, isUnlock, needPop) + -- end + -- end, 0.5) + -- end +end + function HeroDetailUI:refreshPageInfo() self.titleTx:setText(self.heroEntity:getName()) if self.page == GConst.HeroConst.PANEL_TYPE.HERO then diff --git a/lua/app/ui/hero/hero_info_comp.lua b/lua/app/ui/hero/hero_info_comp.lua index c16572c5..d9c5b174 100644 --- a/lua/app/ui/hero/hero_info_comp.lua +++ b/lua/app/ui/hero/hero_info_comp.lua @@ -9,15 +9,11 @@ local LV_CELL = "app/ui/hero/cell/lv_cell" function HeroInfoComp:init() local uiMap = self:getUIMap() - self.skillBg = uiMap["hero_info.skill_node.skill_bg"] - self.imgSkill = uiMap["hero_info.skill_node.skill_bg.skill_icon"] - self.skillNameTx = uiMap["hero_info.skill_node.skill_bg.skill_name_tx"] self.btnUp = uiMap["hero_info.up.up_btn"] self.txUpdesc = uiMap["hero_info.up.up_btn.text"] self.btnUp5 = uiMap["hero_info.up.up_5_btn"] self.txUpdesc5 = uiMap["hero_info.up.up_5_btn.text"] self.txElement = uiMap["hero_info.element_bg.element_desc"] - self.txSkill = uiMap["hero_info.skill_desc"] self.spineObj = uiMap["hero_info.ui_spine_obj"] self.upgrade = uiMap["hero_info.up"] self.bgElement = uiMap["hero_info.element_bg"] @@ -25,23 +21,6 @@ function HeroInfoComp:init() self.vfx04 = uiMap["hero_info.bg_7.scrollrect.viewport.content.vfx_c1_ui_up_b04"] self.vfx04:setActive(false) - self.skill = {} - self.skillIcon = {} - self.skillDescTxs = {} - self.skillNeedStarNodes = {} - self.skillNeedStarDescTx1s = {} - self.skillNeedStarStarImgs = {} - self.skillNeedStarDescTx2s = {} - for i = 1, 4 do - self.skill[i] = uiMap["hero_info.skill_node.skill_up_" .. i] - self.skillIcon[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".icon"] - self.skillDescTxs[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".desc_tx"] - self.skillNeedStarNodes[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".need_star_node"] - self.skillNeedStarDescTx1s[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".need_star_node.desc_tx_1"] - self.skillNeedStarStarImgs[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".need_star_node.star_img"] - self.skillNeedStarDescTx2s[i] = uiMap["hero_info.skill_node.skill_up_" .. i .. ".need_star_node.desc_tx_2"] - end - self.costCell = uiMap["hero_info.up.reward_cell_1"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) self.spineObj:setVisible(false) self.txUpdesc:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_15, 1)) @@ -60,12 +39,6 @@ function HeroInfoComp:init() self.gotoBtn:addClickListener(function() self.parentUI:changePage(GConst.HeroConst.PANEL_TYPE.STAR) end) - self.skillBg:addClickListener(function() - local cfg = ConfigManager:getConfig("skill")[self.heroEntity:getBaseSkill()] - if cfg.buff_id and #cfg.buff_id > 0 then - ModuleManager.TipsManager:showSkillTips(self.skillBg, cfg.buff_id) - end - end) self:bind(DataManager.BagData.ItemData, "dirty", function() self:refresh() end) @@ -101,86 +74,9 @@ end function HeroInfoComp:refresh(lvUp) self.lvUp = lvUp self:refreshLvInfo() - self:refreshSkillInfo() self:refreshUpInfo() end -function HeroInfoComp:refreshSkillInfo() - local skillId = self.heroEntity:getBaseSkill() - self.skillNameTx:setText(ModuleManager.HeroManager:getSkillName(skillId)) - self.txSkill:setText(ModuleManager.HeroManager:getSkillDesc(skillId)) - self.imgSkill:setSprite(GConst.ATLAS_PATH.ICON_SKILL, ModuleManager.HeroManager:getSkillIcon(skillId)) - - local skillList = self.heroEntity:getRogueSkillList() - local lv = self.heroEntity:getLv() - local star = self.heroEntity:getStar() - for i = 1, 4 do - local skillInfo = skillList[i] - if skillInfo then - local skillUnlcokStar = skillInfo[1] - local skillId = skillInfo[2] - local skillBg = self.skill[i] - local skillIcon = self.skillIcon[i] - local nextLvUpStar = self.heroEntity:getNextRougeLvUp(i) - skillBg:addClickListener(function() - local cfg = ConfigManager:getConfig("skill_rogue")[skillId] - -- ModuleManager.TipsManager:showSkillTips(skillIcon, cfg.buff_id, skillId) - ModuleManager.HeroManager:showHeroSkillInfoUI(self.heroEntity, i, cfg.buff_id) - end) - skillIcon:setSprite(GConst.ATLAS_PATH.ICON_SKILL_ROGUE, ModuleManager.HeroManager:getSkillRogueIcon(skillId)) - skillBg:setTouchEnable(true) - if skillUnlcokStar > star then - self.skillNeedStarNodes[i]:setActive(true) - local nextStar = (skillUnlcokStar - 1)%5 + 1 - self.skillNeedStarDescTx1s[i]:setText(nextStar) - local meshProComp = self.skillNeedStarDescTx1s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) - local contentWidth = meshProComp.preferredWidth - self.skillNeedStarDescTx1s[i]:setSizeDeltaX(contentWidth) - local starType = math.ceil(skillUnlcokStar / 5) - self.skillNeedStarStarImgs[i]:setSprite(GFunc.getStarImg(starType)) - self.skillNeedStarDescTx2s[i]:setText(I18N:getGlobalText(I18N.GlobalConst.STR_UNLOCK)) - local meshProComp = self.skillNeedStarDescTx2s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) - local contentWidth = meshProComp.preferredWidth - self.skillNeedStarDescTx2s[i]:setSizeDeltaX(contentWidth) - self.skillNeedStarNodes[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() - - skillBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_1") - else - if nextLvUpStar then - self.skillNeedStarNodes[i]:setActive(true) - local nextStar = (nextLvUpStar - 1)%5 + 1 - self.skillNeedStarDescTx1s[i]:setText(nextStar) - local meshProComp = self.skillNeedStarDescTx1s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) - local contentWidth = meshProComp.preferredWidth - self.skillNeedStarDescTx1s[i]:setSizeDeltaX(contentWidth) - local starType = math.ceil(nextLvUpStar / 5) - self.skillNeedStarStarImgs[i]:setSprite(GFunc.getStarImg(starType)) - self.skillNeedStarDescTx2s[i]:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_17)) - local meshProComp = self.skillNeedStarDescTx2s[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) - local contentWidth = meshProComp.preferredWidth - self.skillNeedStarDescTx2s[i]:setSizeDeltaX(contentWidth) - self.skillNeedStarNodes[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() - else - self.skillNeedStarNodes[i]:setActive(false) - end - skillBg:setSprite(GConst.ATLAS_PATH.ICON_SKILL_ROGUE, ModuleManager.HeroManager:getSkillRogueBg(skillId, true)) - end - end - end - - -- local needPop, isUnlock, skillIdx = self.heroEntity:checkSkillUnlock() - -- if needPop then - -- self.baseObject:performWithDelayGlobal(function() - -- local skillInfo = skillList[skillIdx] - -- if skillInfo then - -- local skillId = skillInfo[2] - -- local cfg = ConfigManager:getConfig("skill_rogue")[skillId] - -- ModuleManager.HeroManager:showHeroSkillInfoUI(self.heroEntity, skillIdx, cfg.buff_id, isUnlock, needPop) - -- end - -- end, 0.5) - -- end -end - function HeroInfoComp:refreshLvInfo() local list = self.heroEntity:getLvAttrPointList() self.scrollRectComp:refillCells(#list)