From 19790752359f840242194f7bc8b440f9f264c443 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 18 Sep 2023 11:21:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/local_data.lua | 11 ++++++++ .../activity/act_pvp/act_pvp_manager.lua | 1 + .../ui/activity/act_pvp/act_pvp_main_ui.lua | 4 +++ .../ui/activity/act_pvp/act_pvp_select_ui.lua | 6 +++++ .../activity/act_pvp/act_pvp_data.lua | 25 ++++++++++++++++--- 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/lua/app/common/local_data.lua b/lua/app/common/local_data.lua index 43a57208..b72a9abd 100644 --- a/lua/app/common/local_data.lua +++ b/lua/app/common/local_data.lua @@ -43,6 +43,7 @@ local LOCAL_DATA_KEY = { NOT_POP_TODAY = "NOT_POP_TODAY", FOURTEEN_DAY_TODAY_EXCHANGE = "FOURTEEN_DAY_TODAY_EXCHANGE", ACT_BOSS_RUSH_EXCHANGE = "ACT_BOSS_RUSH_EXCHANGE", + ACT_PVP_SHOW_HELP = "ACT_PVP_SHOW_HELP", } LocalData.KEYS = LOCAL_DATA_KEY @@ -492,4 +493,14 @@ function LocalData:recordTodayBossRushExchangeWatched() self:setInt(LOCAL_DATA_KEY.ACT_BOSS_RUSH_EXCHANGE, Time:getBeginningOfServerToday()) end +function LocalData:getActPvpShowHelpTag(actId) + actId = actId or 0 + return self:getInt(LOCAL_DATA_KEY.ACT_PVP_SHOW_HELP .. actId, 0) +end + +function LocalData:recordActPvpShowHelpTag(actId) + actId = actId or 0 + self:setInt(LOCAL_DATA_KEY.ACT_PVP_SHOW_HELP .. actId, 1) +end + return LocalData \ No newline at end of file diff --git a/lua/app/module/activity/act_pvp/act_pvp_manager.lua b/lua/app/module/activity/act_pvp/act_pvp_manager.lua index 9d5e73f8..705fef90 100644 --- a/lua/app/module/activity/act_pvp/act_pvp_manager.lua +++ b/lua/app/module/activity/act_pvp/act_pvp_manager.lua @@ -175,6 +175,7 @@ function ActPvpManager:rspRefreshHero(result) if result.err_code == GConst.ERROR_STR.SUCCESS then DataManager.ActPvpData:addFlushCount() DataManager.ActPvpData:updateSelectInfo(result.pair_id, result.next_select_four_id) + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ACT_PVP_EVENT, {refreshHero = true}) end end diff --git a/lua/app/ui/activity/act_pvp/act_pvp_main_ui.lua b/lua/app/ui/activity/act_pvp/act_pvp_main_ui.lua index 778f355b..75a2b8b9 100644 --- a/lua/app/ui/activity/act_pvp/act_pvp_main_ui.lua +++ b/lua/app/ui/activity/act_pvp/act_pvp_main_ui.lua @@ -44,6 +44,10 @@ function ActPvpMainUI:getPrefabPath() end function ActPvpMainUI:onLoadRootComplete() + if not DataManager.ActPvpData:getActPvpShowHelpTag() then + DataManager.ActPvpData:recordActPvpShowHelpTag() + ModuleManager.ActPvpManager:showHelpUI() + end self:_display() self:_addListeners() self:_bind() diff --git a/lua/app/ui/activity/act_pvp/act_pvp_select_ui.lua b/lua/app/ui/activity/act_pvp/act_pvp_select_ui.lua index 362402df..c03b6d3f 100644 --- a/lua/app/ui/activity/act_pvp/act_pvp_select_ui.lua +++ b/lua/app/ui/activity/act_pvp/act_pvp_select_ui.lua @@ -76,6 +76,7 @@ function ActPvpSelectUI:_display() unit.nextBg2Match = uiMap[prefix .. ".next_node.bg_2.match_img"] unit.selectBtn = uiMap[prefix .. ".select_btn"] unit.selectDesc = uiMap[prefix .. ".select_btn.tx_desc"] + unit.clickMask = uiMap[prefix .. ".info.click_mask"] self.bigHeroInfos[i] = unit end end @@ -162,6 +163,8 @@ function ActPvpSelectUI:_addListeners() self.aniSeq:AppendCallback(function() self:_display() end) + elseif params and params.refreshHero then + self:_display() end end) end @@ -188,6 +191,9 @@ function ActPvpSelectUI:refreshSelectInfo() local heroEntity = DataManager.HeroData:getEntity({id = heroId, level = DataManager.ActPvpData:getHeroLv()}) self.heroEntities[inedx] = heroEntity unit.node:setVisible(true) + unit.clickMask:addClickListener(function() + ModuleManager.HeroManager:showHeroDetailUI(heroId, true) + end) unit.simpleHeroCell:refresh(heroEntity) unit.simpleHeroCell:getBaseObject():setActive(false) unit.info:setSprite(GConst.ATLAS_PATH.COMMON, INFO_BG[heroEntity:getQlt()]) diff --git a/lua/app/userdata/activity/act_pvp/act_pvp_data.lua b/lua/app/userdata/activity/act_pvp/act_pvp_data.lua index 2ac96fcf..e36fcf5e 100644 --- a/lua/app/userdata/activity/act_pvp/act_pvp_data.lua +++ b/lua/app/userdata/activity/act_pvp/act_pvp_data.lua @@ -111,9 +111,9 @@ function ActPvpData:getIsOpen() if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then return false end - -- if Time:getServerTime() <= DataManager:getRegisterTs() + self:getConditionDay() then -- 前14天的号,看不到 - -- return false - -- end + if Time:getServerTime() <= DataManager:getRegisterTs() + self:getConditionDay() then -- 前14天的号,看不到 + return false + end local time = Time:getServerTime() return self.endTime > time and time > self.startTime end @@ -441,6 +441,9 @@ function ActPvpData:canGetRankReward() if not self:isFinalDay() then return false end + if self.selfRank and self.selfRank <= 0 then + return false + end return not self.gotRankRewards end @@ -677,4 +680,20 @@ function ActPvpData:getBountyRp() return false end +function ActPvpData:getActPvpShowHelpTag() + if self.showHelpTag == nil then + self.showHelpTag = LocalData:getActPvpShowHelpTag(self.activity_id or ACT_ID) == 1 + end + return self.showHelpTag +end + +function ActPvpData:recordActPvpShowHelpTag() + if self.showHelpTag then + return + end + + self.showHelpTag = true + LocalData:recordActPvpShowHelpTag(self.activity_id or ACT_ID) +end + return ActPvpData \ No newline at end of file