From e85bf4888d17701c3d4260ccfe834e114f034bd2 Mon Sep 17 00:00:00 2001 From: Fang Date: Thu, 17 Aug 2023 12:06:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=8F=E6=97=A5=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/module/activity/activity_manager.lua | 5 ++++- .../main_city/cell/side_bar_activity_cell.lua | 2 +- lua/app/userdata/activity/activity_data.lua | 18 ++++++++++++------ lua/app/userdata/equip/equip_entity.lua | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/lua/app/module/activity/activity_manager.lua b/lua/app/module/activity/activity_manager.lua index 68ca074a..2b046819 100644 --- a/lua/app/module/activity/activity_manager.lua +++ b/lua/app/module/activity/activity_manager.lua @@ -35,7 +35,7 @@ end function ActivityManager:initSummerTimer() self:unscheduleGlobal(self.summerSid) - if DataManager.ActivityData:isInActiveTime() then + if DataManager.ActivityData:isActive() then Logger.logHighlight("夏日活动结束倒计时:"..DataManager.ActivityData:getEndRemainTime()) self.summerSid = self:performWithDelayGlobal(function() -- 夏日活动结束 @@ -54,6 +54,9 @@ end -- 请求夏日活动数据 function ActivityManager:reqSummerData() + if not DataManager.ActivityData:isOpen() then + return + end self:sendMessage(ProtoMsgType.FromMsgEnum.SummerDataReq, {}, {}, self.rspSummerData, nil) end diff --git a/lua/app/ui/main_city/cell/side_bar_activity_cell.lua b/lua/app/ui/main_city/cell/side_bar_activity_cell.lua index 03e0f3cb..ea49ca96 100644 --- a/lua/app/ui/main_city/cell/side_bar_activity_cell.lua +++ b/lua/app/ui/main_city/cell/side_bar_activity_cell.lua @@ -6,7 +6,7 @@ function SideBarActivityCell:getModuleKey() end function SideBarActivityCell:getIsOpen() - return DataManager.ActivityData:isOpen() + return DataManager.ActivityData:isOpen() and DataManager.ActivityData:isActive() end function SideBarActivityCell:getSpineName() diff --git a/lua/app/userdata/activity/activity_data.lua b/lua/app/userdata/activity/activity_data.lua index dc1aa979..d49ad4c3 100644 --- a/lua/app/userdata/activity/activity_data.lua +++ b/lua/app/userdata/activity/activity_data.lua @@ -11,6 +11,7 @@ end function ActivityData:init() self.actData = {} + ModuleManager.ActivityManager:initSummerTimer() ModuleManager.ActivityManager:reqSummerData() end @@ -25,12 +26,19 @@ function ActivityData:isOpen() if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then return false end - if not self:isInActiveTime() then - return false + if not self:isOpenTime() then + return end return true end +-- 是否在活动配置时间内 +function ActivityData:isOpenTime() + local startTime = Time:getCertainTimeByStr(self:getActCfg().start_time) + local endTime = Time:getCertainTimeByStr(self:getActCfg().end_time) + ACT_DAYS * 24 * 60 * 60 + return Time:getServerTime() >= startTime and Time:getServerTime() <= endTime +end + -- 获取活动id function ActivityData:getActId() return ACT_ID @@ -60,7 +68,7 @@ function ActivityData:getBountyCfg() end -- 是否在活动时间内 -function ActivityData:isInActiveTime() +function ActivityData:isActive() if self.actData == nil or self.actData.activated_at == nil or self.actData.activated_at <= 0 then return false end @@ -120,7 +128,7 @@ function ActivityData:onGetActData(data) self.actData = data - if self:isOpen() then + if self:isActive() then -- 注册任务进度监听 for id, data in ipairs(ConfigManager:getConfig("activity_bounty_task")) do ModuleManager.TaskManager:registerTask("ActivityData", data.type, function(count) @@ -135,8 +143,6 @@ function ActivityData:onGetActData(data) Logger.printTable(data) end - ModuleManager.ActivityManager:initSummerTimer() - self:setDirty() end diff --git a/lua/app/userdata/equip/equip_entity.lua b/lua/app/userdata/equip/equip_entity.lua index 75ccbc7f..24a798b2 100644 --- a/lua/app/userdata/equip/equip_entity.lua +++ b/lua/app/userdata/equip/equip_entity.lua @@ -280,7 +280,7 @@ end -- 部位是否可升级 function EquipEntity:canLevelUp() -- 判断英雄解锁 - if not self:getHeroEntity():isUnlock() then + if not self:getHeroEntity():isActived() then return false end