【森罗】排序,选择相同将,修复

dev_chengFeng
ZhangBiao 2021-04-15 12:26:47 +08:00
parent 204e922062
commit 5d47d0b42e
3 changed files with 86 additions and 29 deletions

View File

@ -15,6 +15,7 @@ TRIALHEROINFO_STAR_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFO_HEROHP_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFO_LEVEL_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFO_SKINID_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFO_POSITION_FIELD = protobuf.FieldDescriptor();
DIFFICULTMAPOPTION = protobuf.Descriptor();
DIFFICULTMAPOPTION_ID_FIELD = protobuf.FieldDescriptor();
DIFFICULTMAPOPTION_MAPDIFFICULTY_FIELD = protobuf.FieldDescriptor();
@ -152,8 +153,11 @@ ENDLESSSETTEAMINDICATION_INFO_FIELD = protobuf.FieldDescriptor();
ENDLESSMAPCHANGE = protobuf.Descriptor();
ENDLESSMAPCHANGE_MAPID_FIELD = protobuf.FieldDescriptor();
ENDLESSMAPCHANGE_WORLDLEVEL_FIELD = protobuf.FieldDescriptor();
TRIALSAVEHERO = protobuf.Descriptor();
TRIALSAVEHERO_HEROID_FIELD = protobuf.FieldDescriptor();
TRIALSAVEHERO_POSITION_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFOSAVEREQUEST = protobuf.Descriptor();
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD = protobuf.FieldDescriptor();
TRIALHEROINFOSAVERESPONSE = protobuf.Descriptor();
TRIALHEROINFOSAVERESPONSE_HEROES_FIELD = protobuf.FieldDescriptor();
GETTRIALBOXREWARDREQUEST = protobuf.Descriptor();
@ -325,11 +329,21 @@ TRIALHEROINFO_SKINID_FIELD.default_value = 0
TRIALHEROINFO_SKINID_FIELD.type = 5
TRIALHEROINFO_SKINID_FIELD.cpp_type = 1
TRIALHEROINFO_POSITION_FIELD.name = "position"
TRIALHEROINFO_POSITION_FIELD.full_name = ".rpc.protocols.TrialHeroInfo.position"
TRIALHEROINFO_POSITION_FIELD.number = 7
TRIALHEROINFO_POSITION_FIELD.index = 6
TRIALHEROINFO_POSITION_FIELD.label = 1
TRIALHEROINFO_POSITION_FIELD.has_default_value = false
TRIALHEROINFO_POSITION_FIELD.default_value = 0
TRIALHEROINFO_POSITION_FIELD.type = 5
TRIALHEROINFO_POSITION_FIELD.cpp_type = 1
TRIALHEROINFO.name = "TrialHeroInfo"
TRIALHEROINFO.full_name = ".rpc.protocols.TrialHeroInfo"
TRIALHEROINFO.nested_types = {}
TRIALHEROINFO.enum_types = {}
TRIALHEROINFO.fields = {TRIALHEROINFO_HEROID_FIELD, TRIALHEROINFO_TMPID_FIELD, TRIALHEROINFO_STAR_FIELD, TRIALHEROINFO_HEROHP_FIELD, TRIALHEROINFO_LEVEL_FIELD, TRIALHEROINFO_SKINID_FIELD}
TRIALHEROINFO.fields = {TRIALHEROINFO_HEROID_FIELD, TRIALHEROINFO_TMPID_FIELD, TRIALHEROINFO_STAR_FIELD, TRIALHEROINFO_HEROHP_FIELD, TRIALHEROINFO_LEVEL_FIELD, TRIALHEROINFO_SKINID_FIELD, TRIALHEROINFO_POSITION_FIELD}
TRIALHEROINFO.is_extendable = false
TRIALHEROINFO.extensions = {}
DIFFICULTMAPOPTION_ID_FIELD.name = "Id"
@ -1619,21 +1633,49 @@ ENDLESSMAPCHANGE.enum_types = {}
ENDLESSMAPCHANGE.fields = {ENDLESSMAPCHANGE_MAPID_FIELD, ENDLESSMAPCHANGE_WORLDLEVEL_FIELD}
ENDLESSMAPCHANGE.is_extendable = false
ENDLESSMAPCHANGE.extensions = {}
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.name = "heroIds"
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.full_name = ".rpc.protocols.TrialHeroInfoSaveRequest.heroIds"
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.number = 1
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.index = 0
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.label = 3
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.has_default_value = false
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.default_value = {}
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.type = 9
TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD.cpp_type = 9
TRIALSAVEHERO_HEROID_FIELD.name = "heroId"
TRIALSAVEHERO_HEROID_FIELD.full_name = ".rpc.protocols.TrialSaveHero.heroId"
TRIALSAVEHERO_HEROID_FIELD.number = 1
TRIALSAVEHERO_HEROID_FIELD.index = 0
TRIALSAVEHERO_HEROID_FIELD.label = 1
TRIALSAVEHERO_HEROID_FIELD.has_default_value = false
TRIALSAVEHERO_HEROID_FIELD.default_value = ""
TRIALSAVEHERO_HEROID_FIELD.type = 9
TRIALSAVEHERO_HEROID_FIELD.cpp_type = 9
TRIALSAVEHERO_POSITION_FIELD.name = "position"
TRIALSAVEHERO_POSITION_FIELD.full_name = ".rpc.protocols.TrialSaveHero.position"
TRIALSAVEHERO_POSITION_FIELD.number = 2
TRIALSAVEHERO_POSITION_FIELD.index = 1
TRIALSAVEHERO_POSITION_FIELD.label = 1
TRIALSAVEHERO_POSITION_FIELD.has_default_value = false
TRIALSAVEHERO_POSITION_FIELD.default_value = 0
TRIALSAVEHERO_POSITION_FIELD.type = 5
TRIALSAVEHERO_POSITION_FIELD.cpp_type = 1
TRIALSAVEHERO.name = "TrialSaveHero"
TRIALSAVEHERO.full_name = ".rpc.protocols.TrialSaveHero"
TRIALSAVEHERO.nested_types = {}
TRIALSAVEHERO.enum_types = {}
TRIALSAVEHERO.fields = {TRIALSAVEHERO_HEROID_FIELD, TRIALSAVEHERO_POSITION_FIELD}
TRIALSAVEHERO.is_extendable = false
TRIALSAVEHERO.extensions = {}
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.name = "heroes"
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.full_name = ".rpc.protocols.TrialHeroInfoSaveRequest.heroes"
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.number = 1
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.index = 0
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.label = 3
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.has_default_value = false
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.default_value = {}
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.message_type = TRIALSAVEHERO
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.type = 11
TRIALHEROINFOSAVEREQUEST_HEROES_FIELD.cpp_type = 10
TRIALHEROINFOSAVEREQUEST.name = "TrialHeroInfoSaveRequest"
TRIALHEROINFOSAVEREQUEST.full_name = ".rpc.protocols.TrialHeroInfoSaveRequest"
TRIALHEROINFOSAVEREQUEST.nested_types = {}
TRIALHEROINFOSAVEREQUEST.enum_types = {}
TRIALHEROINFOSAVEREQUEST.fields = {TRIALHEROINFOSAVEREQUEST_HEROIDS_FIELD}
TRIALHEROINFOSAVEREQUEST.fields = {TRIALHEROINFOSAVEREQUEST_HEROES_FIELD}
TRIALHEROINFOSAVEREQUEST.is_extendable = false
TRIALHEROINFOSAVEREQUEST.extensions = {}
TRIALHEROINFOSAVERESPONSE_HEROES_FIELD.name = "heroes"
@ -2377,6 +2419,7 @@ TowerRewardResponse = protobuf.Message(TOWERREWARDRESPONSE)
TrialHeroInfo = protobuf.Message(TRIALHEROINFO)
TrialHeroInfoSaveRequest = protobuf.Message(TRIALHEROINFOSAVEREQUEST)
TrialHeroInfoSaveResponse = protobuf.Message(TRIALHEROINFOSAVERESPONSE)
TrialSaveHero = protobuf.Message(TRIALSAVEHERO)
UseAddHpItemRequest = protobuf.Message(USEADDHPITEMREQUEST)
UseTowerBuffRequest = protobuf.Message(USETOWERBUFFREQUEST)
UseTowerBuffResponse = protobuf.Message(USETOWERBUFFRESPONSE)

View File

@ -74,23 +74,31 @@ function FormationEditPopup:BindEvent()
--选定按钮
Util.AddClick(this.BtnSure, function()
local go=function()
local dids={}
local heros={}
for i, v in ipairs(choosedList) do
table.insert(dids,v.did)
local hero = {}
hero.heroId = v.did
hero.position = #choosedList + 1
table.insert(heros,hero)
end
table.sort(dids,function (a,b)
if HeroManager.GetSingleHeroData(a).warPower >= HeroManager.GetSingleHeroData(b).warPower then
return a > b
else
return a < b
end
table.sort(heros,function (a,b)
return HeroManager.GetSingleHeroData(a.heroId).warPower > HeroManager.GetSingleHeroData(b.heroId).warPower
end)
for i = 1, #heros do
heros[i].position = i
end
if #choosedList <= maxNum and #choosedList > 0 then
NetManager.TrialHeroInfoSaveRequest(dids,function(msg)
NetManager.TrialHeroInfoSaveRequest(heros,function(msg)
PopupTipPanel.ShowTip(Language[10670])
MapManager.trialHeroInfo = msg.heroes
local heros = msg.heroes
if heros and #heros > 1 then
table.sort(heros,function (a,b)
return a.position < b.position
end)
end
MapManager.trialHeroInfo = heros
if func~=nil then --保存完毕后 将英雄did合集传递过去 此时我拥有这些英雄 不用担心英雄已被删除
func(dids)
func(heros)
end
PlayerPrefs.SetInt(PlayerManager.uid.."Trial",1)--设置森罗红点关
CheckRedPointStatus(RedPointType.Trial)

View File

@ -366,10 +366,14 @@ function this.MapInfoRequest(mapModeId,func)
local msg = MapInfoProto_pb.MapEnterResponse()
msg:ParseFromString(data)
MapManager.curMapId = msg.mapId
MapManager.trialHeroInfo=msg.infos
for i = 1, #msg.infos do
Log("Id:"..msg.infos[i].tmpId.." 动态Id"..msg.infos[i].heroId)
local heros = msg.infos
if heros then
table.sort(heros,function (a,b)
return a.position < b.position
end)
end
MapManager.trialHeroInfo = heros
MapTrialManager.curTowerLevel = msg.curTower
MapTrialManager.bombUsed = msg.bombUsed
MapTrialManager.killCount=msg.killCount
@ -4178,10 +4182,12 @@ function NetManager.GetTreasureOfHeavenRewardRequest(uid,func)
end
--森罗幻境请求保存上阵
function NetManager.TrialHeroInfoSaveRequest(heroIds,func)
function NetManager.TrialHeroInfoSaveRequest(heros,func)
local data = MapInfoProto_pb.TrialHeroInfoSaveRequest()
for i = 1, #heroIds do
data.heroIds:append(heroIds[i])
for i = 1, #heros do
local c = data.heroes:add()
c.heroId = heros[i].heroId
c.position = heros[i].position
end
local msg = data:SerializeToString()