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

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

View File

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

View File

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