Merge branch 'master_develop2' into xuanyuanbaojing

# Conflicts:
#	Assets/ManagedResources/~Lua/Message/MessageTypeProto_pb.lua
dev_chengFeng
jiaoyangna 2020-08-12 14:20:45 +08:00
commit 95dff6f0e9
12 changed files with 4353 additions and 2340 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because it is too large Load Diff

View File

@ -462,6 +462,7 @@ PanelType = {
Guild = {14, 16, 65}, -- 新法宝
TimelimitCall={87,16}, --限时召唤
QianKunBox={1002,1003,16},--乾坤包囊
HeroReplace={14,16,94},--神将置换
}

View File

@ -72,6 +72,7 @@ HERO_SOULPOS_FIELD = protobuf.FieldDescriptor();
HERO_LOCKSTATE_FIELD = protobuf.FieldDescriptor();
HERO_JEWELS_FIELD = protobuf.FieldDescriptor();
HERO_CREATETYPE_FIELD = protobuf.FieldDescriptor();
HERO_CHANGEID_FIELD = protobuf.FieldDescriptor();
FIGHTUNITINFO = protobuf.Descriptor();
FIGHTUNITINFO_UNITID_FIELD = protobuf.FieldDescriptor();
FIGHTUNITINFO_UNITSKILLIDS_FIELD = protobuf.FieldDescriptor();
@ -1228,11 +1229,21 @@ HERO_CREATETYPE_FIELD.default_value = 0
HERO_CREATETYPE_FIELD.type = 5
HERO_CREATETYPE_FIELD.cpp_type = 1
HERO_CHANGEID_FIELD.name = "changeId"
HERO_CHANGEID_FIELD.full_name = ".com.ljsd.jieling.protocols.Hero.changeId"
HERO_CHANGEID_FIELD.number = 16
HERO_CHANGEID_FIELD.index = 14
HERO_CHANGEID_FIELD.label = 1
HERO_CHANGEID_FIELD.has_default_value = false
HERO_CHANGEID_FIELD.default_value = 0
HERO_CHANGEID_FIELD.type = 5
HERO_CHANGEID_FIELD.cpp_type = 1
HERO.name = "Hero"
HERO.full_name = ".com.ljsd.jieling.protocols.Hero"
HERO.nested_types = {}
HERO.enum_types = {}
HERO.fields = {HERO_ID_FIELD, HERO_HEROID_FIELD, HERO_LEVEL_FIELD, HERO_BREAKID_FIELD, HERO_STAR_FIELD, HERO_SKINID_FIELD, HERO_EQUIPIDLIST_FIELD, HERO_CREATETIME_FIELD, HERO_STARBREAKID_FIELD, HERO_ESPECIALEQUIPLEVEL_FIELD, HERO_SOULPOS_FIELD, HERO_LOCKSTATE_FIELD, HERO_JEWELS_FIELD, HERO_CREATETYPE_FIELD}
HERO.fields = {HERO_ID_FIELD, HERO_HEROID_FIELD, HERO_LEVEL_FIELD, HERO_BREAKID_FIELD, HERO_STAR_FIELD, HERO_SKINID_FIELD, HERO_EQUIPIDLIST_FIELD, HERO_CREATETIME_FIELD, HERO_STARBREAKID_FIELD, HERO_ESPECIALEQUIPLEVEL_FIELD, HERO_SOULPOS_FIELD, HERO_LOCKSTATE_FIELD, HERO_JEWELS_FIELD, HERO_CREATETYPE_FIELD, HERO_CHANGEID_FIELD}
HERO.is_extendable = false
HERO.extensions = {}
FIGHTUNITINFO_UNITID_FIELD.name = "unitId"

View File

@ -124,10 +124,17 @@ COMPLEXJEWELEQUIPREQUEST_NUM_FIELD = protobuf.FieldDescriptor();
COMPLEXJEWELEQUIPRESPONSE = protobuf.Descriptor();
COMPLEXJEWELEQUIPRESPONSE_EQUIPIDS_FIELD = protobuf.FieldDescriptor();
COMPLEXJEWELEQUIPRESPONSE_DROP_FIELD = protobuf.FieldDescriptor();
ESPECIALEQUIPBACKREQUEST = protobuf.Descriptor();
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD = protobuf.FieldDescriptor();
ESPECIALEQUIPBACKRESPONSE = protobuf.Descriptor();
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD = protobuf.FieldDescriptor();
SAVEHEROCHANGEREQUEST = protobuf.Descriptor();
SAVEHEROCHANGEREQUEST_HEROID_FIELD = protobuf.FieldDescriptor();
SAVEHEROCHANGERESPONSE = protobuf.Descriptor();
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD = protobuf.FieldDescriptor();
CANCELHEROCHANGEREQUEST = protobuf.Descriptor();
CANCELHEROCHANGEREQUEST_HEROID_FIELD = protobuf.FieldDescriptor();
CANCELHEROCHANGERESPONSE = protobuf.Descriptor();
DOHEROCHANGEREQUEST = protobuf.Descriptor();
DOHEROCHANGEREQUEST_HEROID_FIELD = protobuf.FieldDescriptor();
DOHEROCHANGERESPONSE = protobuf.Descriptor();
DOHEROCHANGERESPONSE_DROP_FIELD = protobuf.FieldDescriptor();
GETHEROLISTINFOREQUEST_INDEX_FIELD.name = "index"
GETHEROLISTINFOREQUEST_INDEX_FIELD.full_name = ".com.ljsd.jieling.protocols.GetHeroListInfoRequest.index"
@ -1222,53 +1229,113 @@ COMPLEXJEWELEQUIPRESPONSE.enum_types = {}
COMPLEXJEWELEQUIPRESPONSE.fields = {COMPLEXJEWELEQUIPRESPONSE_EQUIPIDS_FIELD, COMPLEXJEWELEQUIPRESPONSE_DROP_FIELD}
COMPLEXJEWELEQUIPRESPONSE.is_extendable = false
COMPLEXJEWELEQUIPRESPONSE.extensions = {}
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.name = "heroIdLsit"
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.full_name = ".com.ljsd.jieling.protocols.EspecialEquipBackRequest.heroIdLsit"
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.number = 1
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.index = 0
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.label = 3
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.has_default_value = false
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.default_value = {}
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.type = 9
ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD.cpp_type = 9
SAVEHEROCHANGEREQUEST_HEROID_FIELD.name = "heroId"
SAVEHEROCHANGEREQUEST_HEROID_FIELD.full_name = ".com.ljsd.jieling.protocols.SaveHeroChangeRequest.heroId"
SAVEHEROCHANGEREQUEST_HEROID_FIELD.number = 1
SAVEHEROCHANGEREQUEST_HEROID_FIELD.index = 0
SAVEHEROCHANGEREQUEST_HEROID_FIELD.label = 1
SAVEHEROCHANGEREQUEST_HEROID_FIELD.has_default_value = false
SAVEHEROCHANGEREQUEST_HEROID_FIELD.default_value = ""
SAVEHEROCHANGEREQUEST_HEROID_FIELD.type = 9
SAVEHEROCHANGEREQUEST_HEROID_FIELD.cpp_type = 9
ESPECIALEQUIPBACKREQUEST.name = "EspecialEquipBackRequest"
ESPECIALEQUIPBACKREQUEST.full_name = ".com.ljsd.jieling.protocols.EspecialEquipBackRequest"
ESPECIALEQUIPBACKREQUEST.nested_types = {}
ESPECIALEQUIPBACKREQUEST.enum_types = {}
ESPECIALEQUIPBACKREQUEST.fields = {ESPECIALEQUIPBACKREQUEST_HEROIDLSIT_FIELD}
ESPECIALEQUIPBACKREQUEST.is_extendable = false
ESPECIALEQUIPBACKREQUEST.extensions = {}
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.name = "drop"
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.full_name = ".com.ljsd.jieling.protocols.EspecialEquipBackResponse.drop"
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.number = 1
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.index = 0
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.label = 1
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.has_default_value = false
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.default_value = nil
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.message_type = CommonProto_pb.DROP
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.type = 11
ESPECIALEQUIPBACKRESPONSE_DROP_FIELD.cpp_type = 10
SAVEHEROCHANGEREQUEST.name = "SaveHeroChangeRequest"
SAVEHEROCHANGEREQUEST.full_name = ".com.ljsd.jieling.protocols.SaveHeroChangeRequest"
SAVEHEROCHANGEREQUEST.nested_types = {}
SAVEHEROCHANGEREQUEST.enum_types = {}
SAVEHEROCHANGEREQUEST.fields = {SAVEHEROCHANGEREQUEST_HEROID_FIELD}
SAVEHEROCHANGEREQUEST.is_extendable = false
SAVEHEROCHANGEREQUEST.extensions = {}
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.name = "heroTempId"
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.full_name = ".com.ljsd.jieling.protocols.SaveHeroChangeResponse.heroTempId"
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.number = 2
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.index = 0
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.label = 1
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.has_default_value = false
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.default_value = 0
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.type = 5
SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD.cpp_type = 1
ESPECIALEQUIPBACKRESPONSE.name = "EspecialEquipBackResponse"
ESPECIALEQUIPBACKRESPONSE.full_name = ".com.ljsd.jieling.protocols.EspecialEquipBackResponse"
ESPECIALEQUIPBACKRESPONSE.nested_types = {}
ESPECIALEQUIPBACKRESPONSE.enum_types = {}
ESPECIALEQUIPBACKRESPONSE.fields = {ESPECIALEQUIPBACKRESPONSE_DROP_FIELD}
ESPECIALEQUIPBACKRESPONSE.is_extendable = false
ESPECIALEQUIPBACKRESPONSE.extensions = {}
SAVEHEROCHANGERESPONSE.name = "SaveHeroChangeResponse"
SAVEHEROCHANGERESPONSE.full_name = ".com.ljsd.jieling.protocols.SaveHeroChangeResponse"
SAVEHEROCHANGERESPONSE.nested_types = {}
SAVEHEROCHANGERESPONSE.enum_types = {}
SAVEHEROCHANGERESPONSE.fields = {SAVEHEROCHANGERESPONSE_HEROTEMPID_FIELD}
SAVEHEROCHANGERESPONSE.is_extendable = false
SAVEHEROCHANGERESPONSE.extensions = {}
CANCELHEROCHANGEREQUEST_HEROID_FIELD.name = "heroId"
CANCELHEROCHANGEREQUEST_HEROID_FIELD.full_name = ".com.ljsd.jieling.protocols.CancelHeroChangeRequest.heroId"
CANCELHEROCHANGEREQUEST_HEROID_FIELD.number = 1
CANCELHEROCHANGEREQUEST_HEROID_FIELD.index = 0
CANCELHEROCHANGEREQUEST_HEROID_FIELD.label = 1
CANCELHEROCHANGEREQUEST_HEROID_FIELD.has_default_value = false
CANCELHEROCHANGEREQUEST_HEROID_FIELD.default_value = ""
CANCELHEROCHANGEREQUEST_HEROID_FIELD.type = 9
CANCELHEROCHANGEREQUEST_HEROID_FIELD.cpp_type = 9
CANCELHEROCHANGEREQUEST.name = "CancelHeroChangeRequest"
CANCELHEROCHANGEREQUEST.full_name = ".com.ljsd.jieling.protocols.CancelHeroChangeRequest"
CANCELHEROCHANGEREQUEST.nested_types = {}
CANCELHEROCHANGEREQUEST.enum_types = {}
CANCELHEROCHANGEREQUEST.fields = {CANCELHEROCHANGEREQUEST_HEROID_FIELD}
CANCELHEROCHANGEREQUEST.is_extendable = false
CANCELHEROCHANGEREQUEST.extensions = {}
CANCELHEROCHANGERESPONSE.name = "CancelHeroChangeResponse"
CANCELHEROCHANGERESPONSE.full_name = ".com.ljsd.jieling.protocols.CancelHeroChangeResponse"
CANCELHEROCHANGERESPONSE.nested_types = {}
CANCELHEROCHANGERESPONSE.enum_types = {}
CANCELHEROCHANGERESPONSE.fields = {}
CANCELHEROCHANGERESPONSE.is_extendable = false
CANCELHEROCHANGERESPONSE.extensions = {}
DOHEROCHANGEREQUEST_HEROID_FIELD.name = "heroId"
DOHEROCHANGEREQUEST_HEROID_FIELD.full_name = ".com.ljsd.jieling.protocols.DoHeroChangeRequest.heroId"
DOHEROCHANGEREQUEST_HEROID_FIELD.number = 1
DOHEROCHANGEREQUEST_HEROID_FIELD.index = 0
DOHEROCHANGEREQUEST_HEROID_FIELD.label = 1
DOHEROCHANGEREQUEST_HEROID_FIELD.has_default_value = false
DOHEROCHANGEREQUEST_HEROID_FIELD.default_value = ""
DOHEROCHANGEREQUEST_HEROID_FIELD.type = 9
DOHEROCHANGEREQUEST_HEROID_FIELD.cpp_type = 9
DOHEROCHANGEREQUEST.name = "DoHeroChangeRequest"
DOHEROCHANGEREQUEST.full_name = ".com.ljsd.jieling.protocols.DoHeroChangeRequest"
DOHEROCHANGEREQUEST.nested_types = {}
DOHEROCHANGEREQUEST.enum_types = {}
DOHEROCHANGEREQUEST.fields = {DOHEROCHANGEREQUEST_HEROID_FIELD}
DOHEROCHANGEREQUEST.is_extendable = false
DOHEROCHANGEREQUEST.extensions = {}
DOHEROCHANGERESPONSE_DROP_FIELD.name = "drop"
DOHEROCHANGERESPONSE_DROP_FIELD.full_name = ".com.ljsd.jieling.protocols.DoHeroChangeResponse.drop"
DOHEROCHANGERESPONSE_DROP_FIELD.number = 1
DOHEROCHANGERESPONSE_DROP_FIELD.index = 0
DOHEROCHANGERESPONSE_DROP_FIELD.label = 1
DOHEROCHANGERESPONSE_DROP_FIELD.has_default_value = false
DOHEROCHANGERESPONSE_DROP_FIELD.default_value = nil
DOHEROCHANGERESPONSE_DROP_FIELD.message_type = CommonProto_pb.DROP
DOHEROCHANGERESPONSE_DROP_FIELD.type = 11
DOHEROCHANGERESPONSE_DROP_FIELD.cpp_type = 10
DOHEROCHANGERESPONSE.name = "DoHeroChangeResponse"
DOHEROCHANGERESPONSE.full_name = ".com.ljsd.jieling.protocols.DoHeroChangeResponse"
DOHEROCHANGERESPONSE.nested_types = {}
DOHEROCHANGERESPONSE.enum_types = {}
DOHEROCHANGERESPONSE.fields = {DOHEROCHANGERESPONSE_DROP_FIELD}
DOHEROCHANGERESPONSE.is_extendable = false
DOHEROCHANGERESPONSE.extensions = {}
CancelHeroChangeRequest = protobuf.Message(CANCELHEROCHANGEREQUEST)
CancelHeroChangeResponse = protobuf.Message(CANCELHEROCHANGERESPONSE)
ComplexEquipRequest = protobuf.Message(COMPLEXEQUIPREQUEST)
ComplexEquipResponse = protobuf.Message(COMPLEXEQUIPRESPONSE)
ComplexJewelEquipRequest = protobuf.Message(COMPLEXJEWELEQUIPREQUEST)
ComplexJewelEquipResponse = protobuf.Message(COMPLEXJEWELEQUIPRESPONSE)
ConsumeMaterial = protobuf.Message(CONSUMEMATERIAL)
DoHeroChangeRequest = protobuf.Message(DOHEROCHANGEREQUEST)
DoHeroChangeResponse = protobuf.Message(DOHEROCHANGERESPONSE)
DrawHeroRequest = protobuf.Message(DRAWHEROREQUEST)
DrawHeroResponse = protobuf.Message(DRAWHERORESPONSE)
EquipUnLoadOptRequest = protobuf.Message(EQUIPUNLOADOPTREQUEST)
EquipWearRequest = protobuf.Message(EQUIPWEARREQUEST)
EspecialEquipBackRequest = protobuf.Message(ESPECIALEQUIPBACKREQUEST)
EspecialEquipBackResponse = protobuf.Message(ESPECIALEQUIPBACKRESPONSE)
GetAllEquipRequest = protobuf.Message(GETALLEQUIPREQUEST)
GetAllEquipResponse = protobuf.Message(GETALLEQUIPRESPONSE)
GetAllPokemonResponse = protobuf.Message(GETALLPOKEMONRESPONSE)
@ -1290,6 +1357,8 @@ PokemonAdvancedRequest = protobuf.Message(POKEMONADVANCEDREQUEST)
PokenmonUpLevelRequest = protobuf.Message(POKENMONUPLEVELREQUEST)
RingFirAdvanceRequest = protobuf.Message(RINGFIRADVANCEREQUEST)
RingFireLoadRequest = protobuf.Message(RINGFIRELOADREQUEST)
SaveHeroChangeRequest = protobuf.Message(SAVEHEROCHANGEREQUEST)
SaveHeroChangeResponse = protobuf.Message(SAVEHEROCHANGERESPONSE)
SoulEquipPos = protobuf.Message(SOULEQUIPPOS)
SoulEquipUnLoadWearRequest = protobuf.Message(SOULEQUIPUNLOADWEARREQUEST)
SoulEquipWearRequest = protobuf.Message(SOULEQUIPWEARREQUEST)

File diff suppressed because it is too large Load Diff

View File

@ -112,7 +112,7 @@ function this.SwitchView(index)
end
--区分显示
if index==1 then
this.upView:OnOpen({showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main})
this.upView:OnOpen({showType = UpViewOpenType.ShowLeft, panelType = PanelType.HeroReplace})
elseif index==2 then
this.upView:OnOpen({showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main})
end

View File

@ -1,13 +1,123 @@
----- 神将置换 -----
local this = {}
local sortingOrder=0
local tabs={}
local curIndex = 0
local curSelectHero = {}
local curSelectHeroConfig = {}
local heroSelectBtn = {}
local heroDatas
local HeroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
function this:InitComponent(gameObject)
this.gameObject = gameObject
this.heroPre = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/item")
this.replaceBtn = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/btns/replaceBtn")
this.saveBtn = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/btns/saveBtn")
this.cancelBtn = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/btns/cancelBtn")
for i = 1, 5 do
tabs[i] = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/Tabs/Grid/Btn" .. i)
end
this.selectBtn=Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/Tabs/SelectBtn")
this.selectBtn:SetActive(true)
this.ScrollBar=Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/Scrollbar"):GetComponent("Scrollbar")
local v2 = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/scroll"):GetComponent("RectTransform").rect
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/scroll").transform,
this.heroPre, this.ScrollBar, Vector2.New(-v2.x*2, -v2.y*2), 1, 5, Vector2.New(50,15))
this.ScrollView.moveTween.MomentumAmount = 1
this.ScrollView.moveTween.Strength = 1
--need -> replaceHero Info
this.needHero = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/heros/needHero")
this.replaceHero = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/heros/replacedHero")
this.needBg = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/bg/heroPlace1")
this.replaceBg = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/bg/heroPlace2")
this.text = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/heros/content/Text")
this.cost = Util.GetGameObject(gameObject, "CompoundHeroPanel_Replace/heros/content/cost")
end
function this:BindEvent()
--置换
Util.AddClick(this.replaceBtn,function()
if not not curSelectHero.id then
NetManager.SaveHeroChangeRequest(curSelectHero.dynamicId,function (msg)
HeroManager.ResetHeroChangeId(curSelectHero.dynamicId,msg.heroTempId)--改变英雄changeId
this.replaceHero:SetActive(true)
this.cancelBtn:SetActive(true)
this.replaceBtn:SetActive(false)
this.saveBtn:SetActive(true)
this.needBg:SetActive(false)
this.replaceBg:SetActive(false)
this.text:SetActive(false)
this.cost:SetActive(false)
local value = this.RebuildData(msg.heroTempId)
this.SetHero(this.replaceHero,value)
end)
else
PopupTipPanel.ShowTip("请选择想要置换的神将!")
end
end)
--取消
Util.AddClick(this.cancelBtn,function()
NetManager.CancelHeroChangeRequest(curSelectHero.dynamicId,function (msg)
HeroManager.ResetHeroChangeId(curSelectHero.dynamicId)--改变英雄changeId
this.replaceHero:SetActive(false)
this.needHero:SetActive(false)
this.cancelBtn:SetActive(false)
this.replaceBtn:SetActive(true)
this.saveBtn:SetActive(false)
this.needBg:SetActive(true)
this.replaceBg:SetActive(true)
this.text:SetActive(true)
this.cost:SetActive(false)
curSelectHero = {}
for i = 1, #heroDatas do
heroSelectBtn[i]:SetActive(heroDatas[i].dynamicId == curSelectHero.dynamicId)
end
end)
end)
--保存置换
Util.AddClick(this.saveBtn,function()
NetManager.DoHeroChangeRequest(curSelectHero.dynamicId,function (msg)
this.replaceHero:SetActive(false)
this.needHero:SetActive(false)
this.needBg:SetActive(true)
this.replaceBg:SetActive(true)
this.text:SetActive(true)
this.cost:SetActive(false)
HeroManager.DeleteHeroDatas({curSelectHero.dynamicId})
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop,1,function()
this.ShowCurrPosHeroReplace(curIndex)
end)
end)
end)
end
--通过Id 重新组成数据
function this.RebuildData(id)
local herodata = {}
herodata.id = HeroConfig[id].Id
herodata.name = HeroConfig[id].ReadingName
herodata.live = GetResourcePath(HeroConfig[id].Live)
herodata.star = HeroConfig[id].Star
herodata.lv = 1
herodata.quality = HeroConfig[id].Quality
herodata.profession = HeroConfig[id].Profession
herodata.scale = HeroConfig[id].Scale
herodata.position = HeroConfig[id].Position
herodata.property = HeroConfig[id].PropertyName
return herodata
end
function this:AddListener()
@ -21,10 +131,242 @@ function this:OnSortingOrderChange(_sortingOrder)
end
function this:OnShow(...)
curIndex = 0
sortingOrder =0
for i = 0,#tabs - 1 do
local index=i
Util.GetGameObject(tabs[i + 1], "Image"):GetComponent("Image").sprite=Util.LoadSprite(GetProStrImageByProNum(index))
Util.AddOnceClick(tabs[i + 1], function()
curSelectHero = {}
if index == curIndex then
curIndex=0
this.HeroReplaceBtnClick(tabs[1],curIndex)
else
this.HeroReplaceBtnClick(tabs[i + 1],index)
end
end)
end
this.HeroReplaceBtnClick(tabs[1],curIndex)
end
--英雄类型按钮点击事件
function this.HeroReplaceBtnClick(_btn,_curIndex)
curIndex = _curIndex
this.SetBtnSelect(_btn)
this.ShowCurrPosHeroReplace(_curIndex)
end
--显示当前阵营的英雄
function this.ShowCurrPosHeroReplace(_curIndex)
this.replaceHero:SetActive(false)
this.needHero:SetActive(false)
heroDatas = this.GetHeroDataByPosition(_curIndex)
this.ScrollView:SetData(heroDatas, function (index, go)
heroSelectBtn[index] = Util.GetGameObject(go.transform, "choosed")
this.SingleHeroDataShow(go, heroDatas[index])
end)
end
--通过职业筛选英雄
function this.GetHeroDataByPosition(_position)
local heros = {}
local index = 1
for i, v in pairs(HeroManager.ByReplaceHeroGetAllHeros()) do
if HeroConfig[v.id].PropertyName == _position or _position == 0 then --0 全职业
heros[index] = v
index = index + 1
end
end
return heros
end
--数据显示
function this.SingleHeroDataShow(_go,_heroData)
local go = _go
local heroData = _heroData
Util.GetGameObject(go.transform, "frame"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroQuantityImageByquality(HeroConfig[heroData.id].Quality,heroData.star))
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = heroData.lv
Util.GetGameObject(go.transform, "icon"):GetComponent("Image").sprite = Util.LoadSprite(heroData.icon)
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)
Util.GetGameObject(go.transform, "proIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(HeroConfig[heroData.id].PropertyName))
Util.GetGameObject(go.transform, "Text"):GetComponent("Text").text = heroData.name
local formationMask = Util.GetGameObject(go.transform, "formationMask")
local formationImage = Util.GetGameObject(go.transform, "formationMask/formationImage/upImage"):GetComponent("Image")
if #heroData.formationList ~= 0 then
formationMask:SetActive(true)
formationImage.sprite = Util.LoadSprite("t_tongyong-yishangzheng")
elseif heroData.lockState == 1 then
formationMask:SetActive(true)
formationImage.sprite = Util.LoadSprite("r_hero_suodi_yisuoding")
else
formationMask:SetActive(false)
end
local starGrid = Util.GetGameObject(go.transform, "star")
SetHeroStars(starGrid, heroData.star,1,nil,nil,Vector2.New(0,1))
local cardBtn = Util.GetGameObject(go.transform, "icon")
local choosed = Util.GetGameObject(go.transform, "choosed")
choosed:SetActive(false)
this.replaceBtn:SetActive(true)
this.cancelBtn:SetActive(false)
this.saveBtn:SetActive(false)
this.needBg:SetActive(true)
this.replaceBg:SetActive(true)
this.text:SetActive(true)
this.cost:SetActive(false)
Util.AddOnceClick(cardBtn, function()
if heroData.dynamicId == curSelectHero.dynamicId then
choosed:SetActive(false)
curSelectHero = {}
this.needHero:SetActive(false)
this.replaceHero:SetActive(false)
this.cancelBtn:SetActive(false)
this.saveBtn:SetActive(false)
this.replaceBtn:SetActive(true)
this.needBg:SetActive(true)
this.replaceBg:SetActive(true)
this.text:SetActive(true)
this.cost:SetActive(false)
else
choosed:SetActive(true)
curSelectHero = heroData
this.needHero:SetActive(true)
this.replaceHero:SetActive(false)
this.needBg:SetActive(false)
this.replaceBg:SetActive(true)
this.text:SetActive(false)
this.cost:SetActive(true)
this.SetHero(this.needHero,curSelectHero)
--如果已经有了置换Id
if curSelectHero.changeId ~=0 then
this.cancelBtn:SetActive(true)
this.replaceBtn:SetActive(false)
this.saveBtn:SetActive(true)
this.replaceHero:SetActive(true)
this.needBg:SetActive(false)
this.replaceBg:SetActive(false)
this.text:SetActive(false)
this.cost:SetActive(false)
local data = this.RebuildData(curSelectHero.changeId)
this.SetHero(this.replaceHero,data)
else
this.cancelBtn:SetActive(false)
this.replaceBtn:SetActive(true)
this.saveBtn:SetActive(false)
this.replaceHero:SetActive(false)
this.needBg:SetActive(false)
this.replaceBg:SetActive(true)
this.text:SetActive(false)
this.cost:SetActive(true)
end
end
for i = 1, #heroDatas do
heroSelectBtn[i]:SetActive(heroDatas[i].dynamicId == curSelectHero.dynamicId)
end
end)
Util.AddOnceClick(formationMask, function()
if #heroData.formationList ~= 0 then
local text = ""
for index, value in ipairs(heroData.formationList) do
text = HeroManager.GetHeroFormationStr(index)
end
PopupTipPanel.ShowTip(text)
return
end
if heroData.lockState == 1 then
PopupTipPanel.ShowTip("目标神将已被锁定,无法置换!")
return
end
end)
Util.AddLongPressClick(cardBtn, function()
UIManager.OpenPanel(UIName.RoleInfoPopup, heroData)
end, 0.5)
end
--刷新中间按钮和显示
function this.refresh()
-- body
end
--设置两个英雄,左右不确定
function this.SetHero(go,heroData)
local hero = Util.GetGameObject(go, "Hero1")
local herobg=Util.GetGameObject(hero,"Bg1"):GetComponent("Image")
local herolv=Util.GetGameObject(hero,"lv/Text"):GetComponent("Text")
local herofg=Util.GetGameObject(hero,"Bg2"):GetComponent("Image")
local heropro=Util.GetGameObject(hero,"Pro/Image"):GetComponent("Image")
local herostarGrid=Util.GetGameObject(hero,"StarGrid")
local heroname=Util.GetGameObject(hero,"Name/Text"):GetComponent("Text")
local heroyuanImage=Util.GetGameObject(hero,"yuanImage")
local herolive = Util.GetGameObject(hero, "Mask/icon"):GetComponent("RawImage")
local herozs = Util.GetGameObject(hero, "zs")
Util.GetGameObject(hero,"hpProgress").gameObject:SetActive(false)
Util.GetGameObject(hero,"rageProgress").gameObject:SetActive(false)
Util.GetGameObject(hero,"UI_Effect_jinkuang_KaPai").gameObject:SetActive(false)
herobg.sprite = Util.LoadSprite(GetHeroCardStarBg[heroData.star])
local roleConfig = ConfigManager.GetConfigData(ConfigName.RoleConfig, heroData.id)
local scale = roleConfig.play_liveScale
local livePos = Vector3.New(roleConfig.offset[1], roleConfig.offset[2], 0)
if go == this.needHero then
herolive.texture = CardRendererManager.GetSpineTexture(1, heroData.live, Vector3.one * scale, livePos, true)
else
herolive.texture = CardRendererManager.GetSpineTexture(2, heroData.live, Vector3.one * scale, livePos, true)
end
herolive.transform.localScale = Vector3.one
herolive.transform.localPosition = Vector3.zero
local zsName = GetHeroCardStarZs[heroData.star]
if zsName == "" then
herozs:SetActive(false)
else
herozs:SetActive(true)
herozs:GetComponent("Image").sprite = Util.LoadSprite(zsName)
end
heroyuanImage:SetActive(heroData.createtype == 1)
herolv.text=heroData.lv
herofg.sprite = Util.LoadSprite(GetHeroCardStarFg[heroData.star])
heropro.sprite=Util.LoadSprite(GetProStrImageByProNum(heroData.property))
SetCardStars(herostarGrid,heroData.star)
if heroData.star > 9 then
Util.GetGameObject(go,"UI_Effect_jinkuang_KaPai").gameObject:SetActive(true)
else
Util.GetGameObject(go,"UI_Effect_jinkuang_KaPai").gameObject:SetActive(false)
end
heroname.text=heroData.name
end
--设置阵营按钮选中
function this.SetBtnSelect(_parObj)
this.selectBtn.transform:SetParent(_parObj.transform)
this.selectBtn.transform.localScale = Vector3.one
this.selectBtn.transform.localPosition=Vector3.zero
end
function this:OnClose()
curSelectHero = {}
curSelectHeroConfig = {}
this.replaceHero:SetActive(false)
this.needHero:SetActive(false)
end
function this:OnDestroy()

View File

@ -60,6 +60,7 @@ function this.UpdateFormation(msg)
for j = 1, #team.teamHeroInfos do
local teamHeroInfo = team.teamHeroInfos[j]
table.insert(oTeam.teamHeroInfos, teamHeroInfo)
HeroManager.SetHeroFormationList(teamHeroInfo.heroId,team.teamId,1)
end
for j = 1, #team.teamPokemonInfos do
@ -67,6 +68,7 @@ function this.UpdateFormation(msg)
table.insert(oTeam.teamPokemonInfos, teamPokemonInfo)
end
this.formationList[team.teamId] = oTeam
end
if #msg.TeamPosInfo == 0 then

View File

@ -89,6 +89,8 @@ function this.UpdateHeroDatas(_msgHeroData, isFindHandBook)
heroData.createTime = _msgHeroData.createTimelocal
heroData.lockState = _msgHeroData.lockState
heroData.createtype = _msgHeroData.createtype
heroData.changeId = _msgHeroData.changeId--置换id
heroData.formationList = {}--所在编队list
--本地 or 援助
local _configData = heroConfig[_id]
heroData.heroConfig = heroConfig[_id]
@ -160,6 +162,14 @@ function this.UpdateHeroDatas(_msgHeroData, isFindHandBook)
--ExpeditionManager.InitHeroHpValue(heroData)
end
function this.SetHeroFormationList(heroDid,teamId,isAddOrDel)
if isAddOrDel then
heroDatas[heroDid].formationList[teamId] = teamId
else
heroDatas[heroDid].formationList[teamId] = nil
end
end
function this.GetHeroEquipIdList(heroDid)
return heroDatas[heroDid].equipIdList
end
@ -373,7 +383,7 @@ function this.GetHeroFormationStr2(teamId)
return ""
end
--删除本地英雄信息
function this.DeleteHeroDatas(heroDIds,index)
function this.DeleteHeroDatas(heroDIds)
for i = 1, #heroDIds do
if heroDatas[heroDIds[i]] then
--清除英雄装备上挂载的英雄id
@ -2880,6 +2890,7 @@ function this.ResetHero(dynamicloadId)
heroDatas[dynamicloadId].breakId = 0
end
end
--神将合成
function this.ByCompoundHeroGetAllHeros()
local upSortHeroList = {}
local downSoryHeroList = {}
@ -2914,4 +2925,38 @@ function this.ByCompoundHeroGetAllHeros()
end)
return upSortHeroList,downSoryHeroList
end
--神将置换
function this.ByReplaceHeroGetAllHeros()
local sortHeroList = {}
for i, v in pairs(heroDatas) do
if v.star == 4 or v.star == 5 then--四星 五星
v.isFormation = ""
table.insert(sortHeroList,v)
end
end
table.sort(sortHeroList, function(a,b)
if a.star == b.star then
if a.lv == b.lv then
return a.heroConfig.Id > b.heroConfig.Id
else
return a.lv < b.lv
end
else
return a.star > b.star
end
end)
return sortHeroList
end
--修改神将changeId 1是增加/修改 0是恢复默认值0
function this.ResetHeroChangeId(dynamicloadId,changeId)
if heroDatas[dynamicloadId] then
if changeId then
heroDatas[dynamicloadId].changeId = changeId
else
heroDatas[dynamicloadId].changeId = 0
end
end
end
return this

View File

@ -4371,4 +4371,48 @@ function NetManager.EspecialEquipBackRequest(_heroIdLsit,func)
end
end)
end
--神将置换 的三个请求
function this.SaveHeroChangeRequest(_heroId,func)
local data = HeroInfoProto_pb.SaveHeroChangeRequest()
data.heroId = _heroId
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.SaveHeroChangeRequest, MessageTypeProto_pb.SaveHeroChangeResponse, msg, function(buffer)
local data = buffer:DataByte()
local msg = HeroInfoProto_pb.SaveHeroChangeResponse()
msg:ParseFromString(data)
if func then
func(msg)
end
end)
end
function this.CancelHeroChangeRequest(_heroId,func)
local data = HeroInfoProto_pb.CancelHeroChangeRequest()
data.heroId = _heroId
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.CancelHeroChangeRequest, MessageTypeProto_pb.CancelHeroChangeResponse, msg, function(buffer)
local data = buffer:DataByte()
local msg = HeroInfoProto_pb.CancelHeroChangeResponse()
msg:ParseFromString(data)
if func then
func(msg)
end
end)
end
function this.DoHeroChangeRequest(_heroId,func)
local data = HeroInfoProto_pb.DoHeroChangeRequest()
data.heroId = _heroId
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.DoHeroChangeRequest, MessageTypeProto_pb.DoHeroChangeResponse, msg, function(buffer)
local data = buffer:DataByte()
local msg = HeroInfoProto_pb.DoHeroChangeResponse()
msg:ParseFromString(data)
if func then
func(msg)
end
end)
end
return this