寻宝自动选择逻辑修改

dev_chengFeng
zhangqiang 2020-09-01 16:45:11 +08:00
parent d405d09c05
commit 51e88c5f34
1 changed files with 23 additions and 11 deletions

View File

@ -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