diff --git a/lua/app/common/event_manager.lua b/lua/app/common/event_manager.lua index c10042b3..f76be33f 100644 --- a/lua/app/common/event_manager.lua +++ b/lua/app/common/event_manager.lua @@ -52,6 +52,7 @@ EventManager.CUSTOM_EVENT = { -- 装备 EQUIP_UPGRADE_SUCCESS = "EQUIP_UPGRADE_SUCCESS", EQUIP_UPSECTION_SUCCESS = "EQUIP_UPSECTION_SUCCESS", + HERO_UPGRADE_SUCCESS = "HERO_UPGRADE_SUCCESS", GO_DUNGEON_UI = "GO_DUNGEON_UI", -- BORAD_TOUCH_BEGIN = "BORAD_TOUCH_BEGIN", -- BORAD_TOUCH_OVER = "BORAD_TOUCH_OVER" diff --git a/lua/app/ui/hero/hero_detail_ui.lua b/lua/app/ui/hero/hero_detail_ui.lua index 4805d04a..ac011609 100644 --- a/lua/app/ui/hero/hero_detail_ui.lua +++ b/lua/app/ui/hero/hero_detail_ui.lua @@ -115,6 +115,9 @@ function HeroDetailUI:onLoadRootComplete() self:refreshShow() end) + self:addEventListener(EventManager.CUSTOM_EVENT.HERO_UPGRADE_SUCCESS, function(id) + self:refreshRedPoint() + end) self:addEventListener(EventManager.CUSTOM_EVENT.EQUIP_UPSECTION_SUCCESS, function(part) Logger.logHighlight("升段:"..part) if part == GConst.EquipConst.PART_TYPE.WEAPON then @@ -122,6 +125,7 @@ function HeroDetailUI:onLoadRootComplete() else self.compArmor:playUpgradeEffect(part) end + self:refreshRedPoint() end) self:addEventListener(EventManager.CUSTOM_EVENT.EQUIP_UPGRADE_SUCCESS, function(part) Logger.logHighlight("升级:"..part) @@ -130,6 +134,7 @@ function HeroDetailUI:onLoadRootComplete() else self.compArmor:playUpgradeEffect(part) end + self:refreshRedPoint() end) self:addEventListener(EventManager.CUSTOM_EVENT.GO_DUNGEON_UI, function() self:closeUI() @@ -172,17 +177,26 @@ function HeroDetailUI:refreshShow() self.btnLeft:setVisible(self:isExistLeftHero()) self.btnRight:setVisible(self:isExistRightHero()) self.commonInfo:setSizeDeltaY(SIZE_DELTA_Y_HERO) + self:refreshRedPoint() + end +end - if DataManager.EquipData:canUpgradeWeapon(self.heroEntity:getCfgId()) then - self.btnWeapon:addRedPoint(-70, 0, 0.6) - else - self.btnWeapon:removeRedPoint() - end - if DataManager.EquipData:canUpgradeArmor(self.heroEntity:getCfgId()) then - self.btnArmor:addRedPoint(-70, 0, 0.6) - else - self.btnArmor:removeRedPoint() - end +-- 刷新标签红点 +function HeroDetailUI:refreshRedPoint() + if self.heroEntity:canLvUp() then + self.btnHero:addRedPoint(-70, 0, 0.6) + else + self.btnHero:removeRedPoint() + end + if DataManager.EquipData:canUpgradeWeapon(self.heroEntity:getCfgId()) then + self.btnWeapon:addRedPoint(-70, 0, 0.6) + else + self.btnWeapon:removeRedPoint() + end + if DataManager.EquipData:canUpgradeArmor(self.heroEntity:getCfgId()) then + self.btnArmor:addRedPoint(-70, 0, 0.6) + else + self.btnArmor:removeRedPoint() end end diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua index 50bb5916..b9aad3ae 100644 --- a/lua/app/userdata/hero/hero_entity.lua +++ b/lua/app/userdata/hero/hero_entity.lua @@ -188,6 +188,7 @@ function HeroEntity:setLv(lv) self.data.lv = lv self:onBaseAttrChange() ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_HERO_LV_UP, lv) + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.HERO_UPGRADE_SUCCESS, self:getCfgId()) end function HeroEntity:getCfgId()