From 510b2460ea1be2f44e52d930024d2aee47d2e2af Mon Sep 17 00:00:00 2001 From: wangzhenxing Date: Fri, 28 May 2021 15:09:18 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=99=90=E6=97=B6=E7=A5=88=E6=84=BF]=20?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=A5=96=E5=8A=B1=E7=95=8C=E9=9D=A2=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Common/GlobalDefine.lua | 2 +- Assets/ManagedResources/~Lua/Data/UIData.lua | 1 + .../DynamicActivity/TimeLimitUpHero.lua | 13 ++- .../View/GeneralBigPopup_RecrutDetail.lua | 85 ++++++++++++++++++- .../Popup/View/GeneralPopup_ChooseUpHero.lua | 2 +- 5 files changed, 89 insertions(+), 14 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index 4ff6214437..6383ce65b8 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -1192,7 +1192,7 @@ ActivityTypeDef = { DynamicAct = 20000,--主题活动任务 DynamicAct_TimeLimitShop = 20001,--主题活动限时商市 DynamicAct_Treasure = 20002,--主题活动珍奇宝阁 - + LimitUpHero = 20003, --限时up活动 (祈愿) TreasureStore = 6000,--百宝商会 YiJingBaoKu = 8000,--易经宝库 diff --git a/Assets/ManagedResources/~Lua/Data/UIData.lua b/Assets/ManagedResources/~Lua/Data/UIData.lua index 2c3ab9daf0..669b101e1d 100644 --- a/Assets/ManagedResources/~Lua/Data/UIData.lua +++ b/Assets/ManagedResources/~Lua/Data/UIData.lua @@ -438,6 +438,7 @@ SubUIConfig = { [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"}, --限时召唤 [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"},--神衣天降 diff --git a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua index 2d7adfea85..3476cd285d 100644 --- a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua +++ b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitUpHero.lua @@ -80,22 +80,22 @@ end --绑定事件(用于子类重写) function TimeLimitUpHero:BindEvent() Util.AddOnceClick(self.helpBtn, function() - UIManager.OpenPanel(UIName.HelpPopup,self.actConfig.HelpId,self.helpPosition.x,self.helpPosition.y) + UIManager.OpenPanel(UIName.HelpPopup,Setting.QAId,self.helpPosition.x,self.helpPosition.y) end) Util.AddOnceClick(self.btnActivity, function() - UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.RecrutDetail,self.actConfig.HelpId,self.actId,PRE_REWARD_POOL_TYPE.TIME_LIMITED_UP,PRE_REWARD_POOL_TYPE.TIME_LIMITED) + UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.RecrutDetail,Setting.QAId,20003,PRE_REWARD_POOL_TYPE.TIME_LIMITED_UP,PRE_REWARD_POOL_TYPE.TIME_LIMITED,curHeroId,self.actId) end) end --添加事件监听(用于子类重写) function TimeLimitUpHero:AddListener() - Game.GlobalEvent:AddEvent(GameEvent.Activity.ContinueRechargeRefresh,self.OnUPHeroChange,self) + Game.GlobalEvent:AddEvent(GameEvent.Activity.TimeLimitUpHeroChange,self.OnUPHeroChange,self) end --移除事件监听(用于子类重写) function TimeLimitUpHero:RemoveListener() - Game.GlobalEvent:RemoveEvent(GameEvent.Activity.ContinueRechargeRefresh,self.OnUPHeroChange,self) + Game.GlobalEvent:RemoveEvent(GameEvent.Activity.TimeLimitUpHeroChange,self.OnUPHeroChange,self) end --up的英雄改变 @@ -173,9 +173,6 @@ 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) @@ -292,7 +289,7 @@ function TimeLimitUpHero:Recruit(actId,type) if not oneFunc then LogError(" one func ==nil") end - -- UIManager.OpenPanel(UIName.SingleRecruitPanel, msg.drop.Hero,actId,1,{RecruitType.TimeLimitSingle,RecruitType.TimeLimitTen},oneFunc2) + UIManager.OpenPanel(UIName.SingleRecruitPanel, msg.drop.Hero[1],actId,1,{RecruitType.TimeLimitSingle,RecruitType.TimeLimitTen},oneFunc2) end CheckRedPointStatus(RedPointType.TimeLimited) end,self.freeTimesId) diff --git a/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_RecrutDetail.lua b/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_RecrutDetail.lua index b444ce406f..06cc414600 100644 --- a/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_RecrutDetail.lua +++ b/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_RecrutDetail.lua @@ -6,7 +6,10 @@ local parent local sortingOrder=0 local activityId = 0 local activityType = 0 +local heroID =0 local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig) +local artResourcesConfig=ConfigManager.GetConfig(ConfigName.ArtResourcesConfig) +local pool=ConfigManager.GetConfig(ConfigName.WishActivityPool) function this:InitComponent(gameObject) this.title = Util.GetGameObject(gameObject,"title"):GetComponent("Text") this.tip = Util.GetGameObject(gameObject,"tip"):GetComponent("Text") @@ -66,11 +69,21 @@ function this:OnShow(_parent,...) local poolUpType = args[3] or 0 local poolType = args[4] or 0 + heroID = args[5] + local activityId = args[6] LogGreen("poolUpType:"..poolUpType.." poolType:"..poolType) - local UpItemList=RecruitManager.GetRewardPreviewData(poolUpType) - local itemList = RecruitManager.GetRewardPreviewData(poolType) - local _upRateList,rateList = this:BuildRateData(activityType,itemList,UpItemList) - this:ReFreshUpItem(UpItemList,_upRateList) + if activityType == ActivityTypeDef.LimitUpHero and heroID then + local heroConfig=ConfigManager.TryGetConfigData(ConfigName.HeroConfig,heroID) + if heroConfig then + this:ShowUpItem(heroConfig,activityId) + end + else + local UpItemList=RecruitManager.GetRewardPreviewData(poolUpType) + local itemList = RecruitManager.GetRewardPreviewData(poolType) + local _upRateList,rateList = this:BuildRateData(activityType,itemList,UpItemList) + this:ReFreshUpItem(UpItemList,_upRateList) + end + end function this:ReFreshUpItem(UpItem,rateList) @@ -96,6 +109,70 @@ function this:ReFreshUpItem(UpItem,rateList) end end +--限时up英雄 +function this:ShowUpItem(config,actId) + local hero=SubUIManager.Open(SubUIConfig.ItemView,this.itemGrid.transform) + local wishUpConfig=ConfigManager.TryGetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",actId) + local num=0 + for i = 1, #wishUpConfig.UpList do + if wishUpConfig.UpList[i][1]==heroID then + num=wishUpConfig.UpList[i][3] + end + end + hero:OnOpen(false,{config.Id,1},1.1,true) + hero.name:GetComponent("Text").text=""..string.format("%.2f", (num/100000)*100) .."%" + hero.gameObject:SetActive(true) + + for k,v in ipairs(this.ratePreList) do + v.go.gameObject:SetActive(false) + end + + -- table.sort(pool,function(a,b) + -- return a.GetRate>b.GetRate + -- end) + local rateList={} + local hero={tag="5星神将UP",name=config.ReadingName,value=num,Color=1} + + --local aaa=ConfigManager.GetConfigData(ConfigName.WishActivityPool,2) + --LogError("aaa==="..aaa.GetRate) + for key, value in ConfigPairs(pool) do + local id=value.ItemId[1] + local itemConfig=ConfigManager.TryGetConfigData(ConfigName.ItemConfig,id) + local data={tag=itemConfig.Name,name=value.ItemId[2],value=value.GetRate,Color=0} + table.insert(rateList,data) + end + table.sort(rateList,function(a,b) + return a.value>b.value + end) + table.insert(rateList,1,hero) + for n,m in ipairs(rateList) do + if not this.ratePreList[n] then + this.ratePreList[n] = {} + this.ratePreList[n].go = newObjToParent(this.pre,this.grid) + this.ratePreList[n].star = Util.GetGameObject(this.ratePreList[n].go,"star"):GetComponent("Text") + this.ratePreList[n].name = Util.GetGameObject(this.ratePreList[n].go,"name"):GetComponent("Text") + this.ratePreList[n].rate = Util.GetGameObject(this.ratePreList[n].go,"rate"):GetComponent("Text") + end + this.ratePreList[n].go.gameObject:SetActive(true) + this.ratePreList[n].star.text=m.tag + if m.Color==1 then + this.ratePreList[n].star.color=Color.New(0.67, 0.25,0.32, 1) + this.ratePreList[n].name.color=Color.New(0.67, 0.25,0.32, 1) + this.ratePreList[n].rate.color=Color.New(0.67, 0.25,0.32, 1) + else + this.ratePreList[n].star.color=Color.New(0.66, 0.62,0.54, 1) + this.ratePreList[n].name.color=Color.New(0.66, 0.62,0.54, 1) + this.ratePreList[n].rate.color=Color.New(0.66, 0.62,0.54, 1) + end + this.ratePreList[n].name.text=m.name + this.ratePreList[n].rate.text=string.format("%.2f",(m.value/100000)*100).."%" + end + +end + + + + function this:BuildRateData(actType,UpItem,upItemList) local rateList = {} local _upRateList = {} diff --git a/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_ChooseUpHero.lua b/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_ChooseUpHero.lua index c373cf5309..10dfd05b3c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_ChooseUpHero.lua +++ b/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_ChooseUpHero.lua @@ -29,7 +29,7 @@ function this:BindEvent() end) Util.AddClick(this.confirmBtn,function() NetManager.ChoiceHeroRewardRequest(args[1],currHeroId,function() - Game.GlobalEvent:DispatchEvent(GameEvent.Activity.ContinueRechargeRefresh,currHeroId) + Game.GlobalEvent:DispatchEvent(GameEvent.Activity.TimeLimitUpHeroChange,currHeroId) parent:ClosePanel() end)