From e43a551e957bba08995cd5dc7892c7cf47fffa6b Mon Sep 17 00:00:00 2001 From: Fang Date: Fri, 20 Oct 2023 18:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=E6=88=98=E4=BB=A4?= =?UTF-8?q?=E3=80=81=E7=A4=BC=E5=8C=85=E8=B4=AD=E4=B9=B0=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E5=88=B7=E6=96=B0fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/tourn_arena/tourn_arena_manager.lua | 1 + .../activity/tourn_wave/tourn_wave_manager.lua | 1 + .../activity/tourn_arena/tourn_arena_data.lua | 13 +++++++++++-- .../activity/tourn_wave/tourn_wave_data.lua | 13 +++++++++++-- lua/app/userdata/shop/shop_data.lua | 16 ++++++++++++++++ 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua index 2f2cde6b..e97968c0 100644 --- a/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua +++ b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua @@ -24,6 +24,7 @@ function TournArenaManager:initTimer() Logger.logHighlight("竞技场锦标赛活动开始倒计时:"..DataManager.TournArenaData:getStartRemainTime()) self.actSid = self:performWithDelayGlobal(function() Logger.logHighlight("竞技场锦标赛活动开始") + DataManager.ShopData:resetTournArenaGift() self:reqActData() end, DataManager.TournArenaData:getStartRemainTime()) end diff --git a/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua index c164bb40..b95769ee 100644 --- a/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua +++ b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua @@ -18,6 +18,7 @@ function TournWaveManager:initTimer() Logger.logHighlight("波次锦标赛活动开始倒计时:"..DataManager.TournWaveData:getStartRemainTime()) self.actSid = self:performWithDelayGlobal(function() Logger.logHighlight("波次锦标赛活动开始") + DataManager.ShopData:resetTournWaveGift() self:reqActData() end, DataManager.TournWaveData:getStartRemainTime()) end diff --git a/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua index 28203e07..c77713cf 100644 --- a/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua +++ b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua @@ -222,12 +222,21 @@ end -- 战令档位是否已解锁 function TournArenaData:isBountyGradeUnlock(grade) + local giftId if grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE then return true elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then - return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournArenaConst.BOUNTY_GIFT_ID_1) > 0 + giftId = GConst.TournArenaConst.BOUNTY_GIFT_ID_1 elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then - return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournArenaConst.BOUNTY_GIFT_ID_2) > 0 + giftId = GConst.TournArenaConst.BOUNTY_GIFT_ID_2 + end + + local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId) + if giftData and giftData.buy_count > 0 and giftData.latest_buy_at then + local time = giftData.latest_buy_at // 1000 + if time > self.startTime and time < self.endTime then + return true + end end return false end diff --git a/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua index a375ad47..88b4134a 100644 --- a/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua +++ b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua @@ -238,12 +238,21 @@ end -- 战令档位是否已解锁 function TournWaveData:isBountyGradeUnlock(grade) + local giftId if grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE then return true elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then - return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournWaveConst.BOUNTY_GIFT_ID_1) > 0 + giftId = GConst.TournWaveConst.BOUNTY_GIFT_ID_1 elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then - return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournWaveConst.BOUNTY_GIFT_ID_2) > 0 + giftId = GConst.TournWaveConst.BOUNTY_GIFT_ID_2 + end + + local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId) + if giftData and giftData.buy_count > 0 and giftData.latest_buy_at then + local time = giftData.latest_buy_at // 1000 + if time > self.startTime and time < self.endTime then + return true + end end return false end diff --git a/lua/app/userdata/shop/shop_data.lua b/lua/app/userdata/shop/shop_data.lua index 56f27705..b36efe41 100644 --- a/lua/app/userdata/shop/shop_data.lua +++ b/lua/app/userdata/shop/shop_data.lua @@ -1046,4 +1046,20 @@ function ShopData:resetRunesGift() end end +-- 重置波次锦标赛礼包次数 +function ShopData:resetTournWaveGift() + local ids = GConst.TournWaveConst.GIFT_IDS + for index, id in ipairs(ids) do + self:resetGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, id) + end +end + +-- 重置竞技场锦标赛礼包次数 +function ShopData:resetTournArenaGift() + local ids = GConst.TournArenaConst.GIFT_IDS + for index, id in ipairs(ids) do + self:resetGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, id) + end +end + return ShopData \ No newline at end of file