From 859bd6679ef1d5f47d93851acd16c9166dc8a2f5 Mon Sep 17 00:00:00 2001 From: zhangqiang <657634622@qq.com> Date: Tue, 1 Jun 2021 19:47:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E5=B0=86=E5=8F=B010=E8=BF=9E=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=BA=A2=E7=82=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Bag/BagManager.lua | 1 + .../~Lua/Modules/Player/RedpotManager.lua | 6 +- .../~Lua/Modules/Recruit/RecruitManager.lua | 57 ++++++++++++++++++- .../~Lua/Modules/Recruit/RecruitPanel.lua | 8 ++- 4 files changed, 65 insertions(+), 7 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Bag/BagManager.lua b/Assets/ManagedResources/~Lua/Modules/Bag/BagManager.lua index c7ef08a9d7..f2613574b6 100644 --- a/Assets/ManagedResources/~Lua/Modules/Bag/BagManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Bag/BagManager.lua @@ -101,6 +101,7 @@ function this.BackDataRefreshEnerny(msgItemInfo) end end Game.GlobalEvent:DispatchEvent(GameEvent.Bag.BagGold) + CheckRedPointStatus(RedPointType.Recruit_Normal) end end diff --git a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua index e663b719ac..c4fae8c2ca 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua @@ -186,7 +186,7 @@ function this.InitRedPointAllRelate() --秘盒红点 RPData:SetParent(RedPointType.SecretBox_Red1, RedPointType.SecretBox) --角色招募红点 - RPData:SetParent(RedPointType.Recruit_Red, RedPointType.Recruit) + -- RPData:SetParent(RedPointType.Recruit_Red, RedPointType.Recruit) --普通召唤红点 RPData:SetParent(RedPointType.Recruit_Normal, RedPointType.Recruit) -- --运营红点 @@ -383,9 +383,9 @@ function this.RegisterRedCheckFunc() --秘盒红点 RPData:AddCheckFunc(RedPointType.SecretBox_Red1, SecretBoxManager.CheckSecretRedPoint,FUNCTION_OPEN_TYPE.SECRETBOX) --角色招募红点 - RPData:AddCheckFunc(RedPointType.Recruit_Red, RecruitManager.CheckRecuritRedPoint,FUNCTION_OPEN_TYPE.RECURITY) + -- RPData:AddCheckFunc(RedPointType.Recruit_Red, RecruitManager.CheckRecuritRedPoint,FUNCTION_OPEN_TYPE.RECURITY) --普通召唤红点 - RPData:AddCheckFunc(RedPointType.Recruit_Normal, RecruitManager.CheckRecuritNormalPoint,FUNCTION_OPEN_TYPE.RECURITY) + RPData:AddCheckFunc(RedPointType.Recruit_Normal, RecruitManager.GetAllRecruitBtnRedpoint)--RecruitManager.CheckRecuritNormalPoint,FUNCTION_OPEN_TYPE.RECURITY) --七日狂欢红点 RPData:AddCheckFunc(RedPointType.SevenDayCarnival, SevenDayCarnivalManager.GetSevenDayCarnivalRedPoint) --每日首充 diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua index 9a3a6a900e..bf7c412e14 100644 --- a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua @@ -46,13 +46,13 @@ function this.RecruitRequest(recruitType, func, privilegeId,_itemId,_itemNum) if this.freeUseTimeList[privilegeId] and this.freeUseTimeList[privilegeId] >= 1 then PrivilegeManager.RefreshPrivilegeUsedTimes(privilegeId, 1) this.freeUseTimeList[privilegeId] = PrivilegeManager.GetPrivilegeRemainValue(privilegeId) - CheckRedPointStatus(RedPointType.Recruit_Red) - CheckRedPointStatus(RedPointType.Recruit_Normal) + -- CheckRedPointStatus(RedPointType.Recruit_Red) CheckRedPointStatus(RedPointType.TimeLimited) CheckRedPointStatus(RedPointType.QianKunBox) CheckRedPointStatus(RedPointType.Pokemon_Recruit) end end + CheckRedPointStatus(RedPointType.Recruit_Normal) if func then func(msg) end @@ -68,7 +68,7 @@ function this.RefreshFreeTime() this.freeUseTimeList[99] = PrivilegeManager.GetPrivilegeRemainValue(99) this.freeUseTimeList[2005] = PrivilegeManager.GetPrivilegeRemainValue(2005) if (ActTimeCtrlManager.SingleFuncState(1)) then - CheckRedPointStatus(RedPointType.Recruit_Red) + -- CheckRedPointStatus(RedPointType.Recruit_Red) CheckRedPointStatus(RedPointType.Recruit_Normal) CheckRedPointStatus(RedPointType.TimeLimited) CheckRedPointStatus(RedPointType.QianKunBox) @@ -358,6 +358,57 @@ function this.GetExpendDataByCostItem(str,type,LimitNum) return cost end +--抽卡类型 +local rType={ + Normal=1,--普通 + Friend=2,--友情 + Hero=3--神将 +} +--按钮类型 +local bType={ + Btn1=1, + Btn10=2 +} +--抽卡配置 +local preConfigure={ + [1] = {type=RecruitType.NormalSingle,privilegeId=38}, + [2] = {type=RecruitType.NormalTen,privilegeId=38}, + [3] = {type=RecruitType.FriendSingle}, + [4] = {type=RecruitType.FriendTen}, + [5] = {type=RecruitType.Single,privilegeId=14}, + [6] = {type=RecruitType.Ten,privilegeId=14} +} +--点将台红点状态 +function this.GetAllRecruitBtnRedpoint() + for i = 1, #preConfigure do + local redPoint = false + if preConfigure[i].privilegeId then + redPoint = this.GetRecruitBtnRedpoint(preConfigure[i].type,preConfigure[i].privilegeId) + else + redPoint = this.GetRecruitBtnRedpoint(preConfigure[i].type) + end + if redPoint then + return true + end + end + return false +end +--点将台六个按钮各自红点状态 +function this.GetRecruitBtnRedpoint(recruitType,privilegeId)--privilegeId 单抽免费特权次数 + if recruitType == RecruitType.NormalSingle or recruitType == RecruitType.Single then--普通召唤单抽 神将召唤单抽 + if privilegeId then + return PrivilegeManager.GetPrivilegeRemainValue(privilegeId) >= 1 + end + elseif recruitType == RecruitType.FriendTen or recruitType == RecruitType.NormalTen or recruitType == RecruitType.Ten then--所有召唤十连 + local data = RecruitManager.GetExpendData(recruitType) + local itemId = data[1] + local itemNum = data[2] + if BagManager.GetItemCountById(itemId) >= itemNum then + return true + end + end + return false +end return this \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitPanel.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitPanel.lua index 6e31ca29ae..3e25387bad 100644 --- a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitPanel.lua @@ -182,7 +182,13 @@ function this.UpdatePanelData() local itemId=0 local itemNum=0 local d=RecruitManager.GetExpendData(m.type) - redPot:SetActive(isFree) + local redPoint = false + if v.privilegeId then + redPoint = RecruitManager.GetRecruitBtnRedpoint(m.type,v.privilegeId) + else + redPoint = RecruitManager.GetRecruitBtnRedpoint(m.type) + end + redPot:SetActive(redPoint) if isFree then --若1按钮有免费次数 后面逻辑不走了 info.text=Language[10489] else