英雄添加按战力排序

zhangqiang 2020-07-31 14:45:32 +08:00
parent 146197b320
commit b63e9b7e81
7 changed files with 73 additions and 38 deletions

View File

@ -176,10 +176,14 @@ function this:SortHeroDatas(_heroDatas)
if a.heroConfig.Quality == b.heroConfig.Quality then
if a.star == b.star then
if a.lv == b.lv then
if a.id == b.id then
return a.sortId > b.sortId
if a.warPower == b.warPower then
if a.id == b.id then
return a.sortId > b.sortId
else
return a.id > b.id
end
else
return a.id > b.id
return a.warPower > b.warPower
end
else
return a.lv > b.lv
@ -198,10 +202,14 @@ function this:SortHeroDatas(_heroDatas)
if a.heroConfig.Quality == b.heroConfig.Quality then
if a.star == b.star then
if a.heroConfig.Natural == b.heroConfig.Natural then
if a.id == b.id then
return a.sortId > b.sortId
if a.warPower == b.warPower then
if a.id == b.id then
return a.sortId > b.sortId
else
return a.id > b.id
end
else
return a.id > b.id
return a.warPower > b.warPower
end
else
return a.heroConfig.Natural > b.heroConfig.Natural

View File

@ -189,10 +189,14 @@ function this:SortHeroDatas(_heroDatas)
if a.heroConfig.Quality == b.heroConfig.Quality then
if a.star == b.star then
if a.lv == b.lv then
if a.id == b.id then
return a.sortId > b.sortId
if a.warPower == b.warPower then
if a.id == b.id then
return a.sortId > b.sortId
else
return a.id > b.id
end
else
return a.id > b.id
return a.warPower > b.warPower
end
else
return a.lv > b.lv

View File

@ -259,12 +259,12 @@ function PatFacePanel:OnShowOb3Data()
elseif patFaceSingleData.OpenRules[1] == 7 then
self.obg3nameText.text = Language[10551]
local rewardTable = {}
if patFaceSingleData.Id == 24 then--特殊写 id 不能变
-- if patFaceSingleData.Id == 24 then--特殊写 id 不能变
rewardTable = ConfigManager.GetConfigData(ConfigName.ChampionshipReward,1).SeasonReward--巅峰战
else
local rewardInfo = {77,0}
rewardTable[1] = rewardInfo--巅峰战
end
-- else
-- local rewardInfo = {77,0}
-- rewardTable[1] = rewardInfo--巅峰战
-- end
for i = 1, math.max(#guildWarRewardTabs, #rewardTable) do
local go = guildWarRewardTabs[i]
if not go then

View File

@ -516,10 +516,14 @@ function this.SortHeroDatas(_heroDatas)
if a.heroConfig.Quality == b.heroConfig.Quality then
if a.star == b.star then
if a.lv == b.lv then
if a.id == b.id then
return a.sortId > b.sortId
if a.warPower == b.warPower then
if a.id == b.id then
return a.sortId > b.sortId
else
return a.id > b.id
end
else
return a.id > b.id
return a.warPower > b.warPower
end
else
return a.lv > b.lv
@ -538,10 +542,14 @@ function this.SortHeroDatas(_heroDatas)
if a.heroConfig.Quality == b.heroConfig.Quality then
if a.star == b.star then
if a.heroConfig.Natural == b.heroConfig.Natural then
if a.id == b.id then
return a.sortId > b.sortId
if a.warPower == b.warPower then
if a.id == b.id then
return a.sortId > b.sortId
else
return a.id > b.id
end
else
return a.id > b.id
return a.warPower > b.warPower
end
else
return a.heroConfig.Natural > b.heroConfig.Natural
@ -839,12 +847,17 @@ function this.SetOneKeyGo()
local heros = HeroManager.GetAllHeroDatas(limitLevel)
--按战力从大到小排序
table.sort(heros,function(a,b)
local aWarPower = HeroManager.CalculateHeroAllProValList(1,a.dynamicId,false)[HeroProType.WarPower]
local bWarPower = HeroManager.CalculateHeroAllProValList(1,b.dynamicId,false)[HeroProType.WarPower]
if aWarPower==bWarPower then
-- local aWarPower = HeroManager.CalculateHeroAllProValList(1,a.dynamicId,false)[HeroProType.WarPower]
-- local bWarPower = HeroManager.CalculateHeroAllProValList(1,b.dynamicId,false)[HeroProType.WarPower]
-- if aWarPower==bWarPower then
-- return a.id>b.id
-- else
-- return aWarPower>bWarPower
-- end
if a.warPower == b.bWarPower then
return a.id>b.id
else
return aWarPower>bWarPower
return a.aWarPower > b.bWarPower
end
end)
--遍历英雄 去除已上阵英雄

View File

@ -1615,6 +1615,11 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt
this.DoubleTableCompound(allHeroProVal, heroSkillAllHeroProVal)
this.DoubleTableCompound(allHeroProVal, teamAddPro)
end
-- for index, value in pairs(allHeroProVal) do
-- if value > 0 then
-- LogError("allHeroProVal 最终 加成 "..index.." "..value)
-- end
-- end
--4公式特殊减乘所有属性加成
this.DoubleTableCompound(specialProVal, falismanSpecialProVal)
--this.DoubleTableCompound(specialProVal,soulPrinSpecialProVal)

View File

@ -349,7 +349,7 @@ function RoleInfoPanel:OnShow()
index = i
end
end
teamHero=FormationManager.GetAllFormationHeroId()
teamHero=FormationManager.GetWuJinFormationHeroIds(FormationTypeDef.FORMATION_NORMAL)--
this:UpdateLiveList()--加载当前 和 左右数据
if this.leftLiveObj and leftHeroData then
LogError(Language[11833])

View File

@ -275,19 +275,20 @@ function this:SetSelectBtn()
end
function this:SortHeroDatas(_heroDatas)
--上阵最优先星级优先同星级等级优先同星级同等级按sortId排序。排序时降序排序。
Log("sortType "..sortType)
table.sort(_heroDatas, function(a, b)
if (teamHero[a.dynamicId] and teamHero[b.dynamicId]) or
(not teamHero[a.dynamicId] and not teamHero[b.dynamicId])
then
if (teamHero[a.dynamicId] and teamHero[b.dynamicId]) or (not teamHero[a.dynamicId] and not teamHero[b.dynamicId]) then
if sortType==SortTypeConst.Lv then
if a.lv ==b.lv then
if a.heroConfig.Quality ==b.heroConfig.Quality then--Natural
if a.star == b.star then
if a.heroConfig.Natural ==b.heroConfig.Natural then--Natural
return a.heroConfig.Id < b.heroConfig.Id
if a.warPower == b.warPower then
if a.heroConfig.Natural ==b.heroConfig.Natural then--Natural
return a.heroConfig.Id < b.heroConfig.Id
else
return a.heroConfig.Natural > b.heroConfig.Natural
end
else
return a.heroConfig.Natural > b.heroConfig.Natural
return a.warPower > b.warPower
end
else
return a.star > b.star
@ -302,11 +303,15 @@ function this:SortHeroDatas(_heroDatas)
if a.heroConfig.Quality ==b.heroConfig.Quality then--Natural
if a.star == b.star then
if a.lv == b.lv then
if a.heroConfig.Natural ==b.heroConfig.Natural then--Natural
return a.heroConfig.Id < b.heroConfig.Id
else
return a.heroConfig.Natural > b.heroConfig.Natural
end
if a.warPower == b.warPower then
if a.heroConfig.Natural ==b.heroConfig.Natural then--Natural
return a.heroConfig.Id < b.heroConfig.Id
else
return a.heroConfig.Natural > b.heroConfig.Natural
end
else
return a.warPower > b.warPower
end
else
return a.lv > b.lv
end
@ -316,7 +321,7 @@ function this:SortHeroDatas(_heroDatas)
else
return a.heroConfig.Quality > b.heroConfig.Quality
end
end
end
else
return teamHero[a.dynamicId] and not teamHero[b.dynamicId]
end