From 51e88c5f34f9e37e385132e9cd28778811457fa0 Mon Sep 17 00:00:00 2001 From: zhangqiang <657634622@qq.com> Date: Tue, 1 Sep 2020 16:45:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E5=AE=9D=E8=87=AA=E5=8A=A8=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FindTreasureDispatchPanel.lua | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/FindTreasure/FindTreasureDispatchPanel.lua b/Assets/ManagedResources/~Lua/Modules/FindTreasure/FindTreasureDispatchPanel.lua index 8625b0212a..580df20d5f 100644 --- a/Assets/ManagedResources/~Lua/Modules/FindTreasure/FindTreasureDispatchPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/FindTreasure/FindTreasureDispatchPanel.lua @@ -303,7 +303,6 @@ end --一键派遣 function FindTreasureDispatchPanel:AutoSelectHero() --思路 按条件顺序选择 没选择一个英雄检测其他条件是否有满足的 满足跳过 不管能不能派遣都显示 - --allHeroData curSelectHeroList = {} local conditionTabs = {} for i = 1, #conFigData.Condition do @@ -315,9 +314,8 @@ function FindTreasureDispatchPanel:AutoSelectHero() if jixu <= 0 then needState = conditionTabs return end if i > jixu then jixu = i end if #conditionHeros[jixu] <= 0 then return end - --Log("conditionHeros[i][1].dynamicId "..conditionHeros[i][1].dynamicId.." "..conditionHeros[i][1].heroConfig.ReadingName) - --curSelectHeroList[conditionHeros[i][1].dynamicId] = conditionHeros[i][1] - local curSelectSingleHero = self:AutoSelectHeroId(conditionHeros[jixu]) + local num = self:AutoSelectState2(conditionTabs) - 1 + local curSelectSingleHero = self:AutoSelectHeroId(conditionHeros[jixu],num) curSelectSingleHero.sortId = curPanelHerosSortNum--排序 curPanelHerosSortNum = curPanelHerosSortNum + 1--排序 curSelectHeroList[curSelectSingleHero.dynamicId] = curSelectSingleHero @@ -325,13 +323,13 @@ function FindTreasureDispatchPanel:AutoSelectHero() if conFigData.Condition[k][1] == FindTreasureNeedType.Star then for j, v in pairs(curSelectHeroList) do if v.star >= conFigData.Condition[k][2] then - conditionTabs[i] = 1 + conditionTabs[k] = 1 end end elseif conFigData.Condition[k][1] == FindTreasureNeedType.Pro then for j, v in pairs(curSelectHeroList) do if v.heroConfig.PropertyName == conFigData.Condition[k][2] then - conditionTabs[i] = 1 + conditionTabs[k] = 1 end end end @@ -352,8 +350,16 @@ function FindTreasureDispatchPanel:AutoSelectState(conditionTabs) end return 0 end - -function FindTreasureDispatchPanel:AutoSelectHeroId(conditionSingleHeros) +function FindTreasureDispatchPanel:AutoSelectState2(conditionTabs) + local needNum = 0 + for i = 1, #conditionTabs do + if conditionTabs[i] < 1 then + needNum = needNum + 1 + end + end + return needNum +end +function FindTreasureDispatchPanel:AutoSelectHeroId(conditionSingleHeros,num) local heroData = conditionSingleHeros[1] local endfeheNeedNum = 0 for i = 1, #conditionSingleHeros do @@ -369,9 +375,15 @@ function FindTreasureDispatchPanel:AutoSelectHeroId(conditionSingleHeros) end end end - if endfeheNeedNum < feheNeedNum then - endfeheNeedNum = feheNeedNum - heroData = conditionSingleHeros[i] + if num <= 1 then + if endfeheNeedNum < feheNeedNum then + return conditionSingleHeros[i] + end + elseif num > 1 then + if endfeheNeedNum < feheNeedNum then + endfeheNeedNum = feheNeedNum + heroData = conditionSingleHeros[i] + end end end return heroData