From 0e19f2180541e6797686c38f08628fcf57acd8c3 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Mon, 19 Oct 2020 16:46:24 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=87=AA=E5=8A=A8=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E7=89=A9=E5=93=81=E3=80=91=E7=89=A9=E5=93=81=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=E6=94=B9=E4=B8=BA=E5=89=8D=E7=AB=AF=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Player/AutoRecoverManager.lua | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Player/AutoRecoverManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/AutoRecoverManager.lua index eb94f18fbe..b594bb9188 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/AutoRecoverManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/AutoRecoverManager.lua @@ -26,7 +26,11 @@ local _TimeCheckFunc = { if curCount < maxCount then local nextFreshTime = BagManager.bagDatas[UpViewRechargeType.AdventureAlianInvasionTicket].nextFlushTime local remationTime = nextFreshTime - PlayerManager.serverTime - return remationTime + if remationTime >= 0 then + return remationTime + end + -- 需要刷新数量 + return -2 else -- 数量已满返回 -1 return -1 end @@ -37,7 +41,11 @@ local _TimeCheckFunc = { if curCount < maxCount then local nextFreshTime = BagManager.bagDatas[UpViewRechargeType.ActPower].nextFlushTime local remationTime = nextFreshTime - PlayerManager.serverTime - return remationTime + if remationTime > 0 then + return remationTime + end + -- 需要刷新数量 + return -2 else -- 数量已满返回 -1 return -1 end @@ -78,8 +86,30 @@ local _TimeCheckFunc = { } +-- +local GameSetting = ConfigManager.GetConfigData(ConfigName.GameSetting, 1) function this.Initialize() + Timer.New(function() + for _, data in ipairs(GameSetting.ItemAdd) do + local itemId = data[1] + local deltaNum = data[2] + local deltaTime = data[3] + if this.IsAutoRecover(itemId) then + local leftTime = this.GetRecoverTime(itemId) + -- 已满不需要刷新 + if leftTime == -1 then + return + end + -- + if leftTime == -2 then + BagManager.bagDatas[itemId].num = BagManager.bagDatas[itemId].num + deltaNum + BagManager.bagDatas[itemId].nextFlushTime = BagManager.bagDatas[itemId].nextFlushTime + deltaTime + LogPink("自动恢复物品数量刷新:"..itemId.."|"..BagManager.bagDatas[itemId].num.."|"..BagManager.bagDatas[itemId].nextFlushTime) + end + end + end + end, 1, -1, true):Start() end -- 获取道具是否自动恢复