From 17b6db91e2199608ca47448c5e3cdf2f022a0726 Mon Sep 17 00:00:00 2001 From: zhangqiang <657634622@qq.com> Date: Sat, 8 Aug 2020 15:51:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E5=90=88=E6=88=90=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ManagedResources/~Lua/Data/UIData.lua | 1 + .../CompoundHeroUpStarListPanel.lua | 228 ++++++++++++++++++ .../CompoundHeroUpStarListPanel.lua.meta | 7 + .../view/CompoundHero_Compound.lua | 178 ++++++++++++-- .../~Lua/Modules/Hero/HeroManager.lua | 1 + data_execl/base_data/UIConfig.xlsx | Bin 30968 -> 30790 bytes 6 files changed, 392 insertions(+), 23 deletions(-) create mode 100644 Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua create mode 100644 Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua.meta diff --git a/Assets/ManagedResources/~Lua/Data/UIData.lua b/Assets/ManagedResources/~Lua/Data/UIData.lua index 2bea50c9ee..eb78c83bbe 100644 --- a/Assets/ManagedResources/~Lua/Data/UIData.lua +++ b/Assets/ManagedResources/~Lua/Data/UIData.lua @@ -326,6 +326,7 @@ UIName = { ArenaTopMatchGuessTipViewPopup = 325,--巅峰赛竞猜结果弹窗 DynamicActivityPanel = 326,--轮转活动通用窗口 CompoundHeroPanel = 327,--神将置换、合成界面 + CompoundHeroUpStarListPanel = 328,--角色合成操作弹窗 } diff --git a/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua b/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua new file mode 100644 index 0000000000..3015a86ef5 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua @@ -0,0 +1,228 @@ +require("Base/BasePanel") +CompoundHeroUpStarListPanel = Inherit(BasePanel) +local this = CompoundHeroUpStarListPanel +local curSelectHeroList={} +local heroDataList={} +local curNeedRoleNum +local openThisPanel +local curHeroData = {} +--初始化组件(用于子类重写) +function CompoundHeroUpStarListPanel:InitComponent() + + this.BtnBack = Util.GetGameObject(self.transform, "btnBack") + this.BtnSure = Util.GetGameObject(self.transform, "btnSure") + this.btnAutoSelect = Util.GetGameObject(self.transform, "btnAutoSelect") + this.cardPre = Util.GetGameObject(self.gameObject, "item") + --this.grid = Util.GetGameObject(self.gameObject, "scroll/grid") + this.desText = Util.GetGameObject(self.gameObject, "desText"):GetComponent("Text") + this.numText = Util.GetGameObject(self.gameObject, "numText"):GetComponent("Text") + + this.Scrollbar= Util.GetGameObject(self.gameObject, "Scrollbar"):GetComponent("Scrollbar") + this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView,Util.GetGameObject(self.gameObject, "scroll").transform, + this.cardPre, this.Scrollbar, Vector2.New(927.5, 1010), 1, 5, Vector2.New(19.32,15)) + this.ScrollView.gameObject:GetComponent("RectTransform").anchoredPosition = Vector2.New(6.78, 27) + this.ScrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5) + this.ScrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5) + this.ScrollView.moveTween.MomentumAmount = 1 + this.ScrollView.moveTween.Strength = 1 +end + +--绑定事件(用于子类重写) +function CompoundHeroUpStarListPanel:BindEvent() + + Util.AddClick(this.BtnBack, function() + PlaySoundWithoutClick(SoundConfig.Sound_UICancel) + self:ClosePanel() + end) + Util.AddClick(this.BtnSure, function() + self:ClosePanel() + Log("curSelectHeroList "..LengthOfTable(curSelectHeroList)) + openThisPanel.UpdateUpStarPosHeroData(curSelectHeroList) + end) + Util.AddClick(this.btnAutoSelect, function() + self:AutoSelectHero() + end) +end + +--添加事件监听(用于子类重写) +function CompoundHeroUpStarListPanel:AddListener() + +end + +--移除事件监听(用于子类重写) +function CompoundHeroUpStarListPanel:RemoveListener() + +end + +--界面打开时调用(用于子类重写) +function CompoundHeroUpStarListPanel:OnOpen(heroData,HeroRankupGroupData,RankupConsumeMaterialData,_openThisPanel,_curSelectHeroList,_curHeroData) + + openThisPanel= _openThisPanel + curSelectHeroList={} + for i = 1, #_curSelectHeroList do + curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i] + end + curHeroData = _curHeroData + heroDataList = heroData + this.HeroSortData(heroDataList) + for i, v in pairs(heroDataList) do + for n,w in pairs(FormationManager.formationList) do + if HeroManager.heroResolveLicence[n] then + for m = 1, #w.teamHeroInfos do + if v.dynamicId==w.teamHeroInfos[m].heroId then + local isFormationStr = HeroManager.GetHeroFormationStr(n) + v.isFormation = isFormationStr + end + end + end + end + end + this.ScrollView:SetData(heroDataList, function (index, go) + this.OnShowSingleCardData(go, heroDataList[index]) + end) + + curNeedRoleNum=RankupConsumeMaterialData[4] + local str = "" + if HeroRankupGroupData.Issame == 1 then + str = HeroRankupGroupData.StarLimit..Language[11868] + else + if HeroRankupGroupData.IsId ~= 0 then + str = HeroRankupGroupData.StarLimit..Language[11869]..ConfigManager.GetConfigData(ConfigName.HeroConfig,HeroRankupGroupData.IsId).ReadingName + else + if HeroRankupGroupData.IsSameClan == 0 then + str = HeroRankupGroupData.StarLimit..Language[11870] + else + str = HeroRankupGroupData.StarLimit..Language[11871] + end + end + end + this.desText.text=string.format(Language[11872],curNeedRoleNum,str)--HeroRankupGroupData.Name) + this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList) ,curNeedRoleNum) +end +function this.OnClickEnterHero(go,heroData,type) + + if type==1 then + if LengthOfTable(curSelectHeroList)>=curNeedRoleNum then + PopupTipPanel.ShowTip(Language[10660]) + return + else + -- table.insert(curSelectHeroList,heroData) + curSelectHeroList[heroData.dynamicId] = heroData.dynamicId + end + elseif type==2 then + if curSelectHeroList[heroData.dynamicId] then + curSelectHeroList[heroData.dynamicId] = nil + end + -- for i = 1, #curSelectHeroList do + -- if heroData.dynamicId==curSelectHeroList[i].dynamicId then + -- table.remove(curSelectHeroList,i) + -- break + -- end + -- end + end + this.OnShowSingleCardData(go,heroData,type) + this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum) +end + +function this.OnShowSingleCardData(go,heroData)--isSelect 1选择 2 没选择 + local choosed = Util.GetGameObject(go.transform, "choosed") + choosed:SetActive(false) + if curSelectHeroList[heroData.dynamicId] then + curSelectHeroList[heroData.dynamicId]=heroData + choosed:SetActive(true) + end + Util.GetGameObject(go.transform, "frame"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.Quality,heroData.star)) + Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = heroData.lv + Util.GetGameObject(go.transform, "icon"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(heroData.heroConfig.Icon)) + Util.GetGameObject(go.transform, "posIcon"):SetActive(false)--:GetComponent("Image").sprite = Util.LoadSprite(heroData.professionIcon) + Util.GetGameObject(go.transform, "proIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(heroData.heroConfig.PropertyName)) + local formationMask = Util.GetGameObject(go.transform, "formationMask") + -- formationMask:SetActive(false) + formationMask:SetActive((heroData.isFormation ~= "" and heroData.isFormation ~= Language[11108]) or heroData.lockState == 1) + Util.GetGameObject(formationMask.transform, "formationImage"):SetActive(heroData.isFormation ~= "" ) + Util.GetGameObject(formationMask.transform, "lockImage"):SetActive( heroData.lockState == 1) + Util.GetGameObject(go.transform, "noumenon"):SetActive( heroData.id == curHeroData.id ) + local starGrid = Util.GetGameObject(go.transform, "star") + SetHeroStars(starGrid, heroData.star,1,nil,nil,Vector2.New(0,1)) + local cardBtn = Util.GetGameObject(go.transform, "icon") + Util.AddOnceClick(cardBtn, function() + if curSelectHeroList[heroData.dynamicId] then + choosed:SetActive(false) + curSelectHeroList[heroData.dynamicId]=nil + this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum) + return + end + if LengthOfTable(curSelectHeroList)>=curNeedRoleNum then + PopupTipPanel.ShowTip(Language[10660]) + return + end + curSelectHeroList[heroData.dynamicId]=heroData + choosed:SetActive(true) + this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum) + end) + + Util.AddOnceClick(formationMask, function() + if heroData.isFormation ~= "" then + PopupTipPanel.ShowTip( heroData.isFormation) + return + end + if heroData.lockState == 1 then + PopupTipPanel.ShowTip(Language[11776]) + return + end + end) +end +function this.HeroSortData(heroData) + Log("#heroData "..#heroData) + --Language[11108] + table.sort(heroData, function(a, b) + if (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[11108])) and (b.isFormation == "" or (b.isFormation ~= "" and b.isFormation == Language[11108])) + or (a.isFormation ~= "" and a.isFormation ~= Language[11108]) and (b.isFormation ~= "" and b.isFormation ~= Language[11108]) then + if a.lockState == b.lockState then + if a.heroConfig.Star == b.heroConfig.Star then + if a.lv == b.lv then + if a.id ~= curHeroData.id and b.id ~= curHeroData.id or a.id == curHeroData.id and b.id == curHeroData.id then + return a.id > b.id + else + return not a.id ~= curHeroData.id and b.id == curHeroData.id + end + else + return a.lv < b.lv + end + else + return a.heroConfig.Star < b.heroConfig.Star + end + else + return a.lockState < b.lockState + end + else + return (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[11108])) and (not b.dynamicId ~= "" and b.isFormation ~= Language[11108]) + end + end) +end +function CompoundHeroUpStarListPanel:AutoSelectHero() + LogGreen("sssssssssssssssssssss") + curSelectHeroList = {} + for i = 1, #heroDataList do + if LengthOfTable(curSelectHeroList) < curNeedRoleNum and heroDataList[i].isFormation == "" and heroDataList[i].lockState == 0 then-- + LogGreen("heroDataList[i].dynamicId "..heroDataList[i].dynamicId) + curSelectHeroList[heroDataList[i].dynamicId]=heroDataList[i] + end + end + this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum) + this.ScrollView:SetData(heroDataList, function (index, go) + this.OnShowSingleCardData(go, heroDataList[index]) + end) +end +--界面关闭时调用(用于子类重写) +function CompoundHeroUpStarListPanel:OnClose() + +end + +--界面销毁时调用(用于子类重写) +function CompoundHeroUpStarListPanel:OnDestroy() + + this.ScrollView = nil +end + +return CompoundHeroUpStarListPanel \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua.meta b/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua.meta new file mode 100644 index 0000000000..3b9f11626f --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/CompoundHero/CompoundHeroUpStarListPanel.lua.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d61a49dfbba5e2c4fadc16380d538431 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/~Lua/Modules/CompoundHero/view/CompoundHero_Compound.lua b/Assets/ManagedResources/~Lua/Modules/CompoundHero/view/CompoundHero_Compound.lua index 328b59319c..0e80cb9999 100644 --- a/Assets/ManagedResources/~Lua/Modules/CompoundHero/view/CompoundHero_Compound.lua +++ b/Assets/ManagedResources/~Lua/Modules/CompoundHero/view/CompoundHero_Compound.lua @@ -144,6 +144,9 @@ function this.ShowTitleData(curHeroCompoundData) end local upStarConsumeMaterial = {} local upStarMaterialIsAll = {} +local curSelectUpStarData +local curSelectUpStarGo +local upStarRankUpConfig --更新英雄进阶数据 function this.UpdateHeroUpStarData(_curUpStarData) --进阶吞英雄条件 @@ -196,28 +199,134 @@ function this.UpdateHeroUpStarData(_curUpStarData) -- else -- addBtnImage:SetActive(false) -- end - if #_curUpStarData.haveHeroList[i + 1] >= curUpStarData[4] then - num:GetComponent("Text").text=string.format("%s/%s",#_curUpStarData.haveHeroList[i + 1],curUpStarData[4]) - else - num:GetComponent("Text").text=string.format("%s/%s",#_curUpStarData.haveHeroList[i + 1],curUpStarData[4]) - end + num:GetComponent("Text").text=string.format("%s/%s",0,curUpStarData[4]) + -- if #_curUpStarData.haveHeroList[i + 1] >= curUpStarData[4] then + -- num:GetComponent("Text").text=string.format("%s/%s",#_curUpStarData.haveHeroList[i + 1],curUpStarData[4]) + -- else + -- num:GetComponent("Text").text=string.format("%s/%s",#_curUpStarData.haveHeroList[i + 1],curUpStarData[4]) + -- end SetHeroStars(starGrid, upStarMaterialsData.StarLimit,1,nil,-15.3) - + -- LogGreen("_curUpStarData.haveHeroList3[i] "..#_curUpStarData.haveHeroList3[i + 1]) Util.AddOnceClick(addBtn, function() -- curSelectUpStarData=curUpStarData[i] -- curSelectUpStarGo=go -- local curShowHeroListData=self:SetShowHeroListData(upStarConsumeMaterial,upStarHeroListData.heroList) -- --参数1 显示的herolist 2 3 升当前星的规则 4 打开RoleUpStarListPanel的界面 -- UIManager.OpenPanel(UIName.RoleUpStarListPanel,curShowHeroListData,upStarMaterialsData,curUpStarData,this,upStarConsumeMaterial[i],curSelectHero) + + curSelectUpStarData=curUpStarData + curSelectUpStarGo=go + local curShowHeroListData=this.SetShowHeroListData(upStarConsumeMaterial,_curUpStarData.haveHeroList3[i + 1]) + --参数1 显示的herolist 2 3 升当前星的规则 4 打开RoleUpStarListPanel的界面 + UIManager.OpenPanel(UIName.CompoundHeroUpStarListPanel,curShowHeroListData,upStarMaterialsData,curUpStarData,this,upStarConsumeMaterial[i],curSelectHero) end) end + if curSelectHero then + --自动选择进阶妖灵师材料 + this.AutoSelectUpStarHeroList(_curUpStarData) + end else for i = 1, #needHeros do needHeros[i]:SetActive(false) end end - --自动选择进阶妖灵师材料 - -- self:AutoSelectUpStarHeroList(curUpStarData) +end +--分析设置升星界面显示的英雄list数据 如果当前升星材料的坑位的英雄数据与 以其他坑位有重合并且选择上的英雄不显示 如果是当前坑位显示的英雄显示对勾 +function this.SetShowHeroListData(upStarConsumeMaterial,curHeroList)--1 消耗的总消耗组 2 当前坑位可选择的所有英雄 + local curEndShowHeroListData={} + for i = 1, #curHeroList do + if curHeroList[i].dynamicId ~= curSelectHero.dynamicId then + curHeroList[i].isSelect=2 + -- LogGreen("curHeroList[i] "..curHeroList[i].dynamicId) + table.insert(curEndShowHeroListData,curHeroList[i]) + end + end + -- LogGreen("#curEndShowHeroListData "..#curEndShowHeroListData) + for j = 1, #upStarConsumeMaterial do + if upStarConsumeMaterial[j] and #upStarConsumeMaterial[j]>0 then + for k = 1, #upStarConsumeMaterial[j] do + if j==curSelectUpStarData[2] then--curSelectUpStarData 当前坑位选择的英雄信息 + for _, v in pairs(curEndShowHeroListData) do + if v.dynamicId==upStarConsumeMaterial[j][k] then + v.isSelect=1 + end + end + else + for i, v in pairs(curEndShowHeroListData) do + if v.dynamicId==upStarConsumeMaterial[j][k] then + curEndShowHeroListData[i] = nil + end + end + end + end + end + end + local curList={} + for _, v in pairs(curEndShowHeroListData) do + -- LogGreen("#curList "..v.id.." "..v.isSelect) + table.insert(curList,v) + end + return curList +end +--升星选择祭品后刷新界面 +function this.AutoSelectUpStarHeroList(_curUpStarData) + local curUpStarData= _curUpStarData.upStarMaterialsData + if curUpStarData and #curUpStarData>0 then + for i = 1, #curUpStarData do + curSelectUpStarGo = needHeros[i + 1] + curSelectUpStarData=curUpStarData[i] + local upStarHeroListData=_curUpStarData.haveHeroList3[i + 1] + local curSelectHeroList = {} + if curSelectUpStarData.Issame ==1 + or curSelectUpStarData.IsId > 0 + or (curSelectUpStarData.IsSameClan == 1 + and curSelectUpStarData.StarLimit == 3 + and curSelectHero.heroConfig.Qualiy ~= 3) then + if LengthOfTable(upStarHeroListData) >= _curUpStarData.upStarData[i][4] then + for j = 1, LengthOfTable(upStarHeroListData) do + LogGreen(_curUpStarData.upStarData[i][4]) + if #curSelectHeroList < _curUpStarData.upStarData[i][4] then + if upStarHeroListData[j].lockState == 0 and upStarHeroListData[j].dynamicId ~= curSelectHero.dynamicId then--upStarHeroListData[i].isFormation == "" + table.insert(curSelectHeroList,upStarHeroListData[j]) + end + end + end + this.UpdateUpStarPosHeroData(curSelectHeroList, _curUpStarData.upStarData[i]) + end + end + end + end +end +--刷新当前升星坑位英雄的信息 +function this.UpdateUpStarPosHeroData(curSelectHeroList,_upStarData) + -- LogGreen("LengthOfTable(curSelectHeroList) "..LengthOfTable(curSelectHeroList)) + local upStarData = _upStarData and _upStarData or curSelectUpStarData + if LengthOfTable(curSelectHeroList) < upStarData[4] then + upStarMaterialIsAll[upStarData[2]]=2 + Util.GetGameObject(curSelectUpStarGo.transform,"add/add"):SetActive(true) + -- local upStarHeroListData=HeroManager.GetUpStarHeroListData(curSelectUpStarData.upStarMaterialsData.Id,curHeroData) + -- if upStarHeroListData.state<=0 then + -- Util.GetGameObject(curSelectUpStarGo.transform,"add/add"):SetActive(false) + -- end + Util.GetGameObject(curSelectUpStarGo.transform,"num"):GetComponent("Text").text=string.format("%s/%s", LengthOfTable(curSelectHeroList),upStarData[4]) + else + upStarMaterialIsAll[upStarData[2]]=1 + Util.GetGameObject(curSelectUpStarGo.transform,"add/add"):SetActive(false) + Util.GetGameObject(curSelectUpStarGo.transform,"num"):GetComponent("Text").text=string.format("%s/%s", LengthOfTable(curSelectHeroList),upStarData[4]) + end + local curUpStarConsumeMaterial={} + for i, v in pairs(curSelectHeroList) do + table.insert(curUpStarConsumeMaterial,v.dynamicId) + end + upStarConsumeMaterial[upStarData[2]]=curUpStarConsumeMaterial + for i = 1, #upStarConsumeMaterial do + -- LogGreen("选择升星位置的英雄数量 "..#upStarConsumeMaterial[i]) + if #upStarConsumeMaterial[i]>0 then + for j = 1, #upStarConsumeMaterial[i] do + -- LogGreen("选择升星位置的英雄都有谁 "..upStarConsumeMaterial[i][j]) + end + end + end end --更新英雄进阶数据 function this.UpdateFirstHeroUpStarData(curHeroCompoundData) @@ -307,24 +416,47 @@ function this.SingleHeroDataShow(_go,_heroData) end) end function this.Compound() - if compoundNum <= 0 then - PopupTipPanel.ShowTip(Language[10431]) - return - end - if not materidaIsCan then - PopupTipPanel.ShowTip(Language[12193]) - return - end - NetManager.ComplexTreasureRequest(curSelectEquip.equipType,curIndex,curSelectEquip.quantity,compoundNum,function(msg) - for i = 1, #msg.equipIds do - EquipTreasureManager.RemoveTreasureByIdDyn(msg.equipIds[i]) + for k, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.HeroRankupConfig)) do + if v.Star == curSelectHero.heroConfig.Star and v.LimitStar == curSelectHero.heroConfig.Star and v.OpenStar == curSelectHero.heroConfig.Star + 1 then + upStarRankUpConfig = v end - UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function() - this.ShowCurrPosTreasures() + end + local isUpStarMaterialsHero=true + for i = 1, #upStarMaterialIsAll do + if upStarMaterialIsAll[i]==2 then + isUpStarMaterialsHero=false + end + end + if isUpStarMaterialsHero then + NetManager.HeroUpStarEvent(curSelectHero.dynamicId,upStarConsumeMaterial ,function (msg) + UIManager.OpenPanel(UIName.RoleUpStarSuccessPanel,curSelectHero,upStarRankUpConfig.Id,upStarRankUpConfig.OpenLevel,function () + local dropItemTabs = BagManager.GetTableByBackDropData(msg) + if #dropItemTabs > 0 then + UIManager.OpenPanel(UIName.RewardItemPopup, msg, 1, function () + this.DeleteUpStarMaterials() + end) + else + this.DeleteUpStarMaterials() + end + end) end) - end) + -- 进阶音效 + PlaySoundWithoutClick(SoundConfig.Sound_Recruit3) + else + PopupTipPanel.ShowTip(Language[11852]) + end +end +--扣除升星 消耗的材料 更新英雄数据 +function this.DeleteUpStarMaterials() + HeroManager.UpdateSingleHeroDatas(curSelectHero.dynamicId,curSelectHero.lv,curSelectHero.star+1,curSelectHero.breakId,upStarRankUpConfig.Id,true) + HeroManager.UpdateSingleHeroSkillData(curSelectHero.dynamicId) + --本地数据删除材料英雄 + for i = 1, #upStarConsumeMaterial do + HeroManager.DeleteHeroDatas(upStarConsumeMaterial[i]) + end + --刷新界面 + this.ShowCurrPosHeroCompound() end - -- tab节点显示自定义 function this.TabAdapter(tab, index, status) local tabLab = Util.GetGameObject(tab, "Text") diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index f36be581ae..d870f8dd1b 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -2883,6 +2883,7 @@ function this.ByCompoundHeroGetAllHeros() local downSoryHeroList = {} for i, v in pairs(heroDatas) do if v.star == 4 or v.star == 5 then--四星 五星 才能加 + v.isFormation = "" table.insert(upSortHeroList,v) table.insert(downSoryHeroList,v) end diff --git a/data_execl/base_data/UIConfig.xlsx b/data_execl/base_data/UIConfig.xlsx index 728f6009a72357b30e4579dbae14607193174cf6..a97fbbb72a3de8032be069989e07898dc991987e 100644 GIT binary patch literal 30790 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 literal 30968 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