diff --git a/Assets/ManagedResources/Prefabs/UI/DynamicActicity/TimeLimitUpHero.prefab b/Assets/ManagedResources/Prefabs/UI/DynamicActicity/TimeLimitUpHero.prefab
index c9c6911a5a..d8b6f5e9eb 100644
--- a/Assets/ManagedResources/Prefabs/UI/DynamicActicity/TimeLimitUpHero.prefab
+++ b/Assets/ManagedResources/Prefabs/UI/DynamicActicity/TimeLimitUpHero.prefab
@@ -7725,9 +7725,9 @@ RectTransform:
m_Father: {fileID: 7816124763777208762}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0.5, y: 0.5}
- m_AnchorMax: {x: 0.5, y: 0.5}
- m_AnchoredPosition: {x: 448.4, y: 749.7}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -88, y: -210.29999}
m_SizeDelta: {x: 128, y: 126}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5589450041689530360
@@ -8419,7 +8419,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: -48, y: -473.59998}
+ m_AnchoredPosition: {x: -88, y: -473.59998}
m_SizeDelta: {x: 71.599976, y: 69.92993}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7359118887627014995
diff --git a/Assets/ManagedResources/~Lua/Data/UIData.lua b/Assets/ManagedResources/~Lua/Data/UIData.lua
index 669b101e1d..497f20b7da 100644
--- a/Assets/ManagedResources/~Lua/Data/UIData.lua
+++ b/Assets/ManagedResources/~Lua/Data/UIData.lua
@@ -437,8 +437,8 @@ SubUIConfig = {
[14] = {name = "ExChangePage",assetName = "ExChangePage",script = "Modules/NewActivity/ExChangePage"},--限时兑换界面预设
[15] = {name = "page2",assetName = "page2",script = "Modules/DynamicActivity/SheJiDaDian"}, --社稷大典
- [16] = {name = "TimeLimitUpHero",assetName = "TimeLimitUpHero",script = "Modules/DynamicActivity/TimeLimitUpHero"}, --限时召唤
- --[16] = {name = "page3",assetName = "page3",script = "Modules/DynamicActivity/TimeLimitedCall"}, --限时召唤
+ --[16] = {name = "TimeLimitUpHero",assetName = "TimeLimitUpHero",script = "Modules/DynamicActivity/TimeLimitUpHero"}, --限时召唤
+ [16] = {name = "page3",assetName = "page3",script = "Modules/DynamicActivity/TimeLimitedCall"}, --限时召唤
[17] = {name = "page4",assetName = "page4",script = "Modules/DynamicActivity/QianKunBox"},--乾坤宝盒
[18] = {name = "page9",assetName = "page9",script = "Modules/DynamicActivity/YiJingBaoKu"},--易经宝库
[19] = {name = "page10",assetName = "page10",script = "Modules/DynamicActivity/ShengYiTianJiang"},--神衣天降
@@ -449,5 +449,5 @@ SubUIConfig = {
[24] = { name = "ShopView", assetName = "ShopView", script = "View/ShopViewNew" },
[25] = { name = "FuXingGaoZhaoPanel", assetName = "FuXingGaoZhaoPanel", script = "Modules/FuXingGaoZhao/FuXingGaoZhaoPanel" },
[26] = { name = "NiuQiChongTianPanel", assetName = "NiuQiChongTianPanel", script = "Modules/NiuQiChongTian/NiuQiChongTianPanel" },
- --[27] = {name = "TimeLimitUpHero",assetName = "TimeLimitUpHero",script = "Modules/DynamicActivity/TimeLimitUpHero"}, --限时英雄up界面
+ [27] = {name = "TimeLimitUpHero",assetName = "TimeLimitUpHero",script = "Modules/DynamicActivity/TimeLimitUpHero"}, --限时英雄up界面
}
\ No newline at end of file
diff --git a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyOnePanel.lua b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyOnePanel.lua
index 2d5bc1e7e0..be98a0a7b4 100644
--- a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyOnePanel.lua
+++ b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyOnePanel.lua
@@ -132,7 +132,8 @@ function QianKunBoxBuyOnePanel:OnOpen(...)
local wish=ConfigManager.GetConfigData(ConfigName.WishActivitySetting,1)
if wish then
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.TimelimitCall })
- d = RecruitManager.GetExpendDataByCostItem(wish.CostItemSingle)
+ local num=PrivilegeManager.GetPrivilegeRemainValue(wish.DiamondMaxTimes)
+ d = RecruitManager.GetExpendDataByCostItem(wish.CostItemSingle,1,num)
isLimitUpHero=true
end
else
diff --git a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyTenPanel.lua b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyTenPanel.lua
index 834bbbaaf7..37ec248d52 100644
--- a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyTenPanel.lua
+++ b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBoxBuyTenPanel.lua
@@ -24,7 +24,7 @@ local isLimitUpHero=false
--初始化组件(用于子类重写)
function QianKunBoxBuyTenPanel:InitComponent()
this.spLoader = SpriteLoader.New()
-
+ this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft, panelType = PanelType.ElementDrawCard })
orginLayer = 0
self.bg = Util.GetGameObject(self.gameObject, "effect")
screenAdapte(self.bg)
@@ -44,7 +44,7 @@ function QianKunBoxBuyTenPanel:InitComponent()
this.detailImage3=Util.GetGameObject(this.content3, "Tip")
this.itemIcon3=Util.GetGameObject(this.content3, "icon"):GetComponent("Image")
this.itemNum3=Util.GetGameObject(this.content3, "num"):GetComponent("Text")
-
+ this.itemInfo3=Util.GetGameObject(this.content3, "info"):GetComponent("Text")
this.content2=Util.GetGameObject(self.gameObject,"bottom/openTenAgainButton/Content2")
this.itemIcon2=Util.GetGameObject(this.content2,"Icon"):GetComponent("Image")
this.itemNum2=Util.GetGameObject(this.content2,"Num"):GetComponent("Text")
@@ -143,15 +143,19 @@ function QianKunBoxBuyTenPanel:OnOpen(...)
local itemId=0
local itemNum=0
local d
- local upConfig=ConfigManager.GetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",this.recruitType)
+ local upConfig=ConfigManager.TryGetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",this.recruitType)
if upConfig then
local wish=ConfigManager.GetConfigData(ConfigName.WishActivitySetting,1)
if wish then
+ this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.TimelimitCall })
isLimitUpHero=true
- d = RecruitManager.GetExpendDataByCostItem(wish.CostItemMul)
+ this.itemInfo3.text="10次"
+ local num=PrivilegeManager.GetPrivilegeRemainValue(wish.DiamondMaxTimes)
+ d = RecruitManager.GetExpendDataByCostItem(wish.CostItemMul,2,num)
end
else
d = RecruitManager.GetExpendData(this.recruitType)
+ SubUIManager.Close(this.UpView)
end
itemId=d[1]
itemNum=d[2]
@@ -211,6 +215,7 @@ end
--界面销毁时调用(用于子类重写)
function QianKunBoxBuyTenPanel:OnDestroy()
this.spLoader:Destroy()
+ SubUIManager.Close(this.UpView)
this.views = nil
end
diff --git a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua
index 88f9acd86a..e0af934f92 100644
--- a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua
+++ b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua
@@ -23,6 +23,7 @@ local Setting=nil
local oneFunc=nil
local tenFunc=nil
local oneFunc2=nil
+local isYaojing=false
--初始化组件(用于子类重写)
function TimeLimitUpHero:InitComponent()
self.spLoader = SpriteLoader.New()
@@ -33,7 +34,7 @@ function TimeLimitUpHero:InitComponent()
self.btnActivity:GetComponent("Image").sprite=self.spLoader:LoadSprite("r_shilian-jiangli_zh")
self.btnRewardBtn = Util.GetGameObject(self.gameObject,"btngroup/btnRewardBtn")
self.btnRewardBtn:SetActive(false)
-
+
self.btns = {}
self.bgs = {}
for i = 1 , 2 do
@@ -80,6 +81,7 @@ function TimeLimitUpHero:InitComponent()
local SkeletonGraphic = heroLiveObj:GetComponent("SkeletonGraphic")
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
end)
+
end
--绑定事件(用于子类重写)
@@ -141,7 +143,6 @@ function TimeLimitUpHero:OnShow(_sortingOrder)
for k,v in ipairs(self.bgs) do
v.bg.gameObject:SetActive(false)
end
- LogError("actId "..self.actId)
wishConfig=ConfigManager.GetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",self.actId)
self.titleImg.sprite=self.spLoader:LoadSprite(self.actConfig.Icon[3])
Setting= ConfigManager.GetConfigData(ConfigName.WishActivitySetting,1)
@@ -150,6 +151,8 @@ function TimeLimitUpHero:OnShow(_sortingOrder)
self.yaojingMaxTimeId =Setting.DiamondMaxTimes
activityData=ActivityGiftManager.GetActivityInfoByType(self.actId)
curHeroId=activityData.choiceRewardId
+ local curTimes = PrivilegeManager.GetPrivilegeUsedTimes(self.maxtimesId)
+ self.upper.text= "今日召唤上限:"..curTimes.."/"..privilegeConfig[self.maxtimesId].Condition[1][2]--特权上限
LogError("活动数据英雄id: "..activityData.choiceRewardId)
self:RefreshHeroData()
self:RefreshGetHeroTimes()
@@ -166,25 +169,22 @@ function TimeLimitUpHero:RefreshHeroData()
poolManager:UnLoadLive(lastLiveName, heroLiveObj)
end
lastLiveName=GetResourcePath(curConfig.Live)
- LogError("lastLiveName=="..lastLiveName)
heroLiveObj=HeroManager.LoadHerolive1(curConfig,self.heroPar)
end
-local isYaojing=false
local freeTime = 0
--刷新剩余次数
function TimeLimitUpHero:RefreshGetHeroTimes()
- local curTimes = PrivilegeManager.GetPrivilegeUsedTimes(self.maxtimesId)
- self.upper.text= "今日召唤上限:"..curTimes.."/"..privilegeConfig[self.maxtimesId].Condition[1][2]--特权上限
+
self.timeupdate.gameObject:SetActive(true)
if self.freeTimesId and self.freeTimesId > 0 then
freeTime = PrivilegeManager.GetPrivilegeRemainValue(self.freeTimesId)
- LogError("self freetimes "..freeTime)
RecruitManager.freeUseTimeList[self.freeTimesId]=freeTime
end
--按钮赋值
-
+ local num=PrivilegeManager.GetPrivilegeRemainValue(Setting.DiamondMaxTimes)
+ self.recruitTimesUpdate.text = string.format("今日剩余妖晶召唤次数:%s",num)
for n, m in ipairs(self.btns) do
--存在免费次数 并且 免费>=1 并且是1按钮
local isFree = freeTime >= 1 and n == 1
@@ -206,7 +206,7 @@ function TimeLimitUpHero:RefreshGetHeroTimes()
self.timeupdate.gameObject:SetActive(false)
m.info.text="免费抽取"
else
- local d = RecruitManager.GetExpendDataByCostItem(type)
+ local d = RecruitManager.GetExpendDataByCostItem(type,n,num)
itemId=d[1]
if itemId==16 then
isYaojing=true
@@ -216,8 +216,12 @@ function TimeLimitUpHero:RefreshGetHeroTimes()
m.num.text= tostring(itemNum)
end
local sureFunc=function()
+ local isFree = PrivilegeManager.GetPrivilegeRemainValue(self.freeTimesId)>= 1 and n == 1
if not isFree then
- if BagManager.GetItemCountById(itemId)%s",num)
self.callTimeTxt.text=reMaintimes
end
-function TimeLimitUpHero:Recruit(actId,type)
+function TimeLimitUpHero:Recruit(actId,type,itemId)
local recrutType =type==1 and 1 or 10
if PrivilegeManager.GetPrivilegeUsedTimes(self.maxtimesId)+recrutType>privilegeConfig[self.maxtimesId].Condition[1][2] then
PopupTipPanel.ShowTip("无法超出每日召唤次数上限!")
@@ -271,29 +271,20 @@ function TimeLimitUpHero:Recruit(actId,type)
PrivilegeManager.RefreshPrivilegeUsedTimes(self.freeTimesId,recrutType)--记录抽卡次数
end
PrivilegeManager.RefreshPrivilegeUsedTimes(self.maxtimesId,recrutType)--记录抽卡次数
- -- if then
- -- freeTime = PrivilegeManager.GetPrivilegeRemainValue(self.freeTimesId)
- -- end
--记录妖晶抽卡
- if isYaojing then
+ if itemId==16 then
+ LogError("记录妖晶次数")
PrivilegeManager.RefreshPrivilegeUsedTimes(self.yaojingMaxTimeId,recrutType)--记录妖晶抽卡次数
end
if type == 1 then
- LogError("len=="..LengthOfTable(msg.drop.Hero))
- local data=msg.drop.Hero
- if oneFunc then
- LogError(" one func ==")
- end
+
UIManager.OpenPanel(UIName.QianKunBoxBuyOnePanel, msg.drop,actId,{RecruitType.PrayerSingle,RecruitType.PrayerTen},oneFunc)
else
--UIManager.OpenPanel(UIName.SingleRecruitPanel, msg.drop.Hero,actId,type,{RecruitType.TimeLimitSingle,RecruitType.TimeLimitTen})
UIManager.OpenPanel(UIName.QianKunBoxBuyTenPanel, msg.drop,actId,{RecruitType.PrayerSingle,RecruitType.PrayerTen},tenFunc)
end
if msg.drop.Hero[1] then
- if not oneFunc then
- LogError(" one func ==nil")
- end
UIManager.OpenPanel(UIName.SingleRecruitPanel, msg.drop.Hero[1],actId,1,{RecruitType.TimeLimitSingle,RecruitType.TimeLimitTen},oneFunc2)
end
CheckRedPointStatus(RedPointType.TimeLimited)
diff --git a/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_RecruitConfirm.lua b/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_RecruitConfirm.lua
index 1376840ff9..5efa2759df 100644
--- a/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_RecruitConfirm.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_RecruitConfirm.lua
@@ -63,12 +63,13 @@ function this:OnShow(_parent,...)
this.rootText.text = string.format(Language[11595],_args[3])
elseif _args[1] =="timeLimitHero" then
local wishSettingConfig=ConfigManager.GetConfigData(ConfigName.WishActivitySetting,1)
+ local num=PrivilegeManager.GetPrivilegeRemainValue(wishSettingConfig.DiamondMaxTimes)
var = PlayerManager.uid.."GeneralPopup_RecruitConfirm"..RecruitType.PrayerTen
local d = 0
if _args[3]==1 then
- d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig.CostItemSingle)
+ d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig.CostItemSingle,1,num)
elseif _args[3]==2 then
- d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig.CostItemMul)
+ d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig.CostItemMul,2,num)
end
if _args[3] == 1 then
diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua
index 7005c91490..9a3a6a900e 100644
--- a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitManager.lua
@@ -327,22 +327,35 @@ function this.GetExpendData(type)
return d
end
-function this.GetExpendDataByCostItem(str)
+function this.GetExpendDataByCostItem(str,type,LimitNum)
local d
local k=0
- for i, v in ipairs(str) do
- if BagManager.GetItemCountById(v[1])>=v[2] then
- d=v
- break
+ local needNum= 0
+ if type==1 then
+ needNum=1
+ else
+ needNum=10
+ end
+ local cost=nil
+ for key, value in pairs(str) do
+ local bagNum=BagManager.GetItemCountById(value[1])
+ --不是妖晶 背包数量>=需要数量
+ if value[1]~=16 then
+ if bagNum>=needNum then
+ return value
+ else
+ cost=value
+ end
+ cost=value
+
else
- k=k+1
+ --如果是妖晶 背包有足够妖晶 能抽的次数>=抽的次数
+ if bagNum>=needNum and LimitNum>=needNum then
+ return value
+ end
end
end
- local l=#str
- if k==l then
- return str[l]
- end
- return d
+ return cost
end
diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/SingleRecruitPanel.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/SingleRecruitPanel.lua
index 1ad0f7acbd..354d956053 100644
--- a/Assets/ManagedResources/~Lua/Modules/Recruit/SingleRecruitPanel.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Recruit/SingleRecruitPanel.lua
@@ -156,6 +156,9 @@ function SingleRecruitPanel:BindEvent()
if state==1 then
this.goBtn:SetActive(false)
this.againBtn:SetActive(true)
+ if recruitType and recruitType[1]==RecruitType.PrayerSingle then
+ this.againBtn:SetActive(false)
+ end
this.sureBtn:SetActive(true)
this.info:SetActive(false)
elseif state==2 then
@@ -399,7 +402,8 @@ function SingleRecruitPanel:UpdataPanelData(_heroData)
SetTextVerTial(self.posText.gameObject,Vector3.New(63.76,1.5,0),"MiddleLeft")
local d=nil
if recruitType and recruitType[1]==RecruitType.PrayerSingle then
- d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig[1].CostItemSingle)
+ local num=PrivilegeManager.GetPrivilegeRemainValue(wishSettingConfig[1].DiamondMaxTimes)
+ d=RecruitManager.GetExpendDataByCostItem(wishSettingConfig[1].CostItemSingle,1,num)
else
d=RecruitManager.GetExpendData(type)
end
@@ -419,6 +423,9 @@ function SingleRecruitPanel:UpdataPanelData(_heroData)
this.goBtn:SetActive(heroStaticData.Star == 5 or heroStaticData.Star == 4)
this.sureBtn:SetActive(heroStaticData.Star ~= 5 and heroStaticData.Star ~= 4)
this.againBtn:SetActive(heroStaticData.Star ~= 5 and heroStaticData.Star ~= 4)
+ if recruitType and recruitType[1]==RecruitType.PrayerSingle then
+ this.againBtn:SetActive(false)
+ end
Util.GetGameObject(self.transform, "rolePanel/rolePanel2"):SetActive(true)
if heroStaticData.Quality == 5 and heroStaticData.Natural >= 13 then
HeroManager.DetectionOpenFiveStarActivity(heroStaticData.Star)
diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/TenRecruitPanel.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/TenRecruitPanel.lua
index b4fe7ad617..323c6e731a 100644
--- a/Assets/ManagedResources/~Lua/Modules/Recruit/TenRecruitPanel.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Recruit/TenRecruitPanel.lua
@@ -114,7 +114,8 @@ function TenRecruitPanel:OnOpen(...)
local config=ConfigManager.TryGetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",type)
if config then
local Setting= ConfigManager.GetConfigData(ConfigName.WishActivitySetting,1)
- d=RecruitManager.GetExpendDataByCostItem(Setting.CostItemMul)
+ local num=PrivilegeManager.GetPrivilegeRemainValue(Setting.DiamondMaxTimes)
+ d=RecruitManager.GetExpendDataByCostItem(Setting.CostItemMul,2,num)
else
d=RecruitManager.GetExpendData(type)
end