特训灵兽相关BUG修复

onepiece_demo_arena
xiejun 2023-12-23 14:45:58 +08:00
parent b28882aa56
commit 401f3d8b25
3 changed files with 216 additions and 80 deletions

View File

@ -7703,7 +7703,7 @@ function NetManager.TrainingUpLvRequest(_heroid,_func)
end)
end
-- 英雄特训技能解锁请求
function NetManager.TrainingUnlockSkillRequest(_heroid,_unlockId,pockemensId,TrainingUnlockSkillHeroItem,item,_func)
function NetManager.TrainingUnlockSkillRequest(_heroid,_unlockId,pockemensId,magicSoldierIds,TrainingUnlockSkillHeroItem,item,_func)
local data=HeroInfoProto_pb.TrainingUnlockSkillRequest()
data.heroId= _heroid
data.unlockId= _unlockId
@ -7717,16 +7717,25 @@ function NetManager.TrainingUnlockSkillRequest(_heroid,_unlockId,pockemensId,Tra
info.num = TrainingUnlockSkillHeroItem[i].num
end
end
--data.incarnationCards= incarnationCards
if item.itemtype==56 then
data.playerGifts.itemId = item.id
data.playerGifts.itemNum = item.itemNum
if pockemensId then
for i = 1, #pockemensId do
data.pokemonIds:append(tostring(pockemensId[i]))
end
end
if item.itemtype==29 then
data.incarnationCards.itemId = item.id
data.incarnationCards.itemNum = item.itemNum
--data.incarnationCards= incarnationCards
if item then
if item.itemtype==56 then
data.playerGifts.itemId = item.id
data.playerGifts.itemNum = item.itemNum
end
if item.itemtype==29 then
data.incarnationCards.itemId = item.id
data.incarnationCards.itemNum = item.itemNum
end
end
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.TrainingUnlockSkillRequest,MessageTypeProto_pb.TrainingUnlockSkillResponse,msg,function(buffer)

View File

@ -288,14 +288,26 @@ function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
return
end
if tData.Level<=curLevel then
if #selectSkillUnlockItems1==0 or #selectSkillUnlockItems2==0 then
PopupTipPanel.ShowTip(Language[10054])
return
end
local item={}
local pokemenons={}
if selectSkillUnlockItems1[1].type==3 then
for i=1,#selectSkillUnlockItems1 do
local t=selectSkillUnlockItems1[i]
local pockemen={}
pokemenons[i]=selectSkillUnlockItems1[i].dynamicId
end
else
item.id=selectSkillUnlockItems1[1].itemData.id
item.itemNum=1
item.itemtype=selectSkillUnlockItems1[1].itemData.itemType
end
local TrainingUnlockSkillHeroItem={}
for i=1,#selectSkillUnlockItems2 do
local t=selectSkillUnlockItems2[i]
@ -309,11 +321,10 @@ function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
Heroitem.num=1
TrainingUnlockSkillHeroItem[i]=Heroitem
end
local pokemenons={}
pokemenons[1]=""
local magicSoldierIds={}
magicSoldierIds[1]=""
NetManager.TrainingUnlockSkillRequest( self._curHerodata.dynamicId,tData.Id,nil,TrainingUnlockSkillHeroItem,item,function (msg)
NetManager.TrainingUnlockSkillRequest( self._curHerodata.dynamicId,tData.Id,pokemenons,nil,TrainingUnlockSkillHeroItem,item,function (msg)
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1)
end)
end
@ -347,7 +358,10 @@ function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
for i=1,#tData.NeedItem1 do
tmpData[i]={}
tmpData[i].data=tData.NeedItem1[i]
tmpData[i].type=1---Item 栏位
tmpData[i].type=1---Item 栏位
if tData.NeedItem1[i][1]== 21 then
tmpData[i].type=3
end
if tData.NeedItem1[i][1]== 56 then
tmpData[i].Name= ItemBaseTypeName[tData.NeedItem1[i][2]]
else
@ -378,18 +392,24 @@ function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
if curData.type==1 then
Util.GetGameObject(singleSkillList[i],"Name"):GetComponent("Text").text=GetQuantityStrByquality(curData.data[3])..curData.Name
itemIcon.sprite=self.spLoader:LoadSprite("UI_hz_beibao_duigoudi")
else
elseif curData.type==2 then
Util.GetGameObject(singleSkillList[i],"Name"):GetComponent("Text").text=NumToChinese[curData.heroGroupData[1]]..""..curData.Name
itemIcon.sprite=self.spLoader:LoadSprite("UI_hz_zhonghe05_70")
else
Util.GetGameObject(singleSkillList[i],"Name"):GetComponent("Text").text=GetQuantityStrByquality(curData.data[3])..curData.Name
itemIcon.sprite=self.spLoader:LoadSprite("UI_hz_beibao_duigoudi")
end
local needNum= Util.GetGameObject(singleSkillList[i],"hero/lvbg/CountText"):GetComponent("Text")
local neednum=1
if curData.type==1 then
needNum.text="0".."/"..curData.data[4]
neednum=curData.data[4]
else
elseif curData.type==2 then
needNum.text="0".."/"..curData.heroGroupData[2]
neednum=curData.heroGroupData[2]
neednum=curData.heroGroupData[2]
else
needNum.text="0".."/"..curData.data[4]
neednum=curData.data[4]
end
local add=Util.GetGameObject(singleSkillList[i],"hero/icon/add")
@ -441,7 +461,29 @@ function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
add:SetActive(true)
needNum.text="0".."/"..neednum
end
elseif curData.type==3 then
selectSkillUnlockItems1={}
if #selectItems>0 then
if selectItems[1].type==1 or selectItems[1].type==3 then
itemIcon.sprite=self.spLoader:LoadSprite(selectItems[1].icon)
else
local itemConfig = ConfigManager.TryGetConfigData(ConfigName.ItemConfig,selectItems[1].id)
if not itemConfig then return end
-- icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig.ResourceID))
itemIcon.sprite=self.spLoader:LoadSprite(GetResourcePath(itemConfig.ResourceID))
needNum.text=#selectItems.."/"..neednum
end
for i=1 ,#selectItems do
selectSkillUnlockItems1[i]=selectItems[i]
end
add:SetActive(false)
else
itemIcon.sprite=self.spLoader:LoadSprite("UI_hz_zhonghe05_70")
add:SetActive(true)
needNum.text="0".."/"..neednum
end
end
end

View File

@ -96,6 +96,7 @@ function TrainingItemListPanel:OnOpen(_curData,_func,NeedNum,selectItems1,select
curData = _curData
-- heroDataList = heroData
if _curData.type==1 then
local itemDatas = BagManager.GetBagItemDataByItemTypeV3(_curData.data[2],_curData.data[1],_curData.data[3])
local index =0
for i=1,#itemDatas do
@ -112,7 +113,35 @@ function TrainingItemListPanel:OnOpen(_curData,_func,NeedNum,selectItems1,select
end
index=haveNum
-- heroOrItemDataList[i]=itemDatas[i]
end
end
elseif _curData.type==3 then
local pokemonList = PokemonManager.GetPokemonDatas()
local index=0
for i=1,#pokemonList do
local v={}
v.dynamicId=pokemonList[i].dynamicId
v.pokemonData=pokemonList[i]
v.type=3
v.index = i--用于祭品选择界面 查看是否选中
v.star=v.star
v.lv=v.lv
local config=pokemonList[i].config
v.ischip=0
v.icon= GetResourcePath(config.Icon)
v.id=v.id
v.quality=config.Quality
v.name=config.Name
v.returnCoin=config.CoinReturn
v.frame=GetHeroQuantityImageByquality(config.Quality)
v.num=1
table.insert(heroOrItemDataList,v)
-- heroOrItemDataList[i]=itemDatas[i]
end
else
local titemDatas={}
if _curData.NeedHeroOther ~=0 then
@ -169,7 +198,7 @@ function this.OnShowSingleCardData(go,heroData)--isSelect 1选择 2 没选择
-- local starGrid = Util.GetGameObject(go.transform, "star")
local cardBtn = Util.GetGameObject(go.transform, "icon")
if curData.type~=1 then
if curData.type==2 then
-- icon.sprite = this.spLoader:LoadSprite(heroData.icon)
local choosed = Util.GetGameObject(go.transform, "choosed")
choosed:SetActive(false)
@ -355,66 +384,122 @@ function this.OnShowSingleCardData(go,heroData)--isSelect 1选择 2 没选择
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, heroData.id)
end, 0.5)
end
-- if curData.type~=1 then
-- local itemConfig=heroData.heroConfig
-- -- frame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.quality,heroData.star))
-- if heroData.lv>0 then
-- lvGo.gameObject:SetActive(true)
-- lvGo.text=heroData.lv
-- else
-- lvGo.gameObject:SetActive(false)
-- end
-- formationMask:SetActive(false)
-- formationImage:SetActive(false)
-- lockImage:SetActive(false)
-- name.text = SubString2(GetLanguageStrById(itemConfig.Name),8)
-- -- local talismana=ConfigManager.GetConfigDataByDoubleKey(ConfigName.EquipTalismana,"TalismanaId",heroData.staticId,"Level",heroData.lv)
-- local star=heroData.star
-- if star>0 then
-- starGrid:SetActive(true)
-- local starType=1
-- local starSize=nil
-- starType=3
-- star=star+11
-- starSize = Vector2.New(0.8,-20)
-- local starScale = -20
-- SetHeroStars(this.spLoader,starGrid, star,starType,starSize,starScale)
-- Util.SetParticleSortLayer(starGrid, this.sortingOrder + 3)
-- else
-- starGrid:SetActive(false)
-- end
-- -- local isSelect = CheckListIsContainValue1(curSelectItemOrHeroList,heroData.did)
-- -- choosed:SetActive(isSelect)
-- Util.AddOnceClick(cardBtn, function()
-- -- if isSelect then
-- -- choosed:SetActive(false)
-- -- table.removebyvalue(curSelectItemOrHeroList,heroData.did)
-- -- isSelect=false
-- -- return
-- -- end
-- -- if LengthOfTable(curSelectItemOrHeroList)>=curNeedRoleNum then
-- -- PopupTipPanel.ShowTip(Language[10403])
-- -- return
-- -- end
-- -- table.insert(curSelectItemOrHeroList,heroData.did)
-- -- isSelect=true
-- -- choosed:SetActive(true)
-- if currentSelectItem and currentSelectItem.Did == heroData .Did then
-- return
-- else
-- currentSelectItem = heroData
-- choosed:SetActive(true)
-- if curSelectGO then
-- Util.GetGameObject(curSelectGO.transform, "choosed"):SetActive(false)
-- curSelectGO = go
-- else
-- curSelectGO = go
-- end
-- choosed:SetActive(true)
-- end
-- end)
elseif curData.type==3 then
local choosed = Util.GetGameObject(go.transform, "choosed")
choosed:SetActive(false)
-- if curSelectHeroList[heroData.dynamicId] then
-- curSelectHeroList[heroData.dynamicId]=heroData
-- choosed:SetActive(true)
-- end
for i = 1, #currentSelectItems do
if currentSelectItems[i].dynamicId == heroData.dynamicId then
choosed:SetActive(true)
end
end
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)
local frame = Util.GetGameObject(go.transform, "frame"):GetComponent("Image")
local lvGo = Util.GetGameObject(go.transform, "lv")
local icon = Util.GetGameObject(go.transform, "icon"):GetComponent("Image")
local proIcon = Util.GetGameObject(go.transform, "proIcon")
local name = Util.GetGameObject(go.transform, "name"):GetComponent("Text")
local formationMask = Util.GetGameObject(go.transform, "formationMask")
local formationImage = Util.GetGameObject(formationMask.transform, "formationImage")
local lockImage = Util.GetGameObject(formationMask.transform, "lockImage")
local noumenon = Util.GetGameObject(go, "noumenon")
local starGrid = Util.GetGameObject(go.transform, "star")
local cardBtn = Util.GetGameObject(go.transform, "icon")
local GongMingMask = Util.GetGameObject(go.transform, "GongMingMask")
frame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.pokemonData.config.Quality,heroData.star))
lvGo:SetActive(true)
lvGo:GetComponent("Text").text = heroData.lv
icon.sprite = this.spLoader:LoadSprite(heroData.icon)
proIcon:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(heroData.changeProId))
formationMask:SetActive((heroData.isFormation ~=nil and heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) or heroData.lockState == 1)
formationImage:SetActive(heroData.isFormation ~=nil and heroData.isFormation ~= "" )
lockImage:SetActive( heroData.lockState == 1)
--noumenon:SetActive( heroData.id == curHeroData.id )
name.text = SubString2(GetLanguageStrById(heroData.name),8)
local star = heroData.pokemonData.star
local starSize=Vector2.New(32.5,32.5)
if star>5 then
star=star+6
starSize = Vector2.New(1,-13)
end
SetHeroStars(this.spLoader, starGrid, star,1,starSize,-15)
LogError("hero star=="..star)
-- local effect=SetHeroFlyEffect(go,this.spLoader,heroData.star,this.sortingOrder+1,1)
-- if effect then
-- local particles=effect:GetComponentsInChildren(typeof(UnityEngine.ParticleSystem))
-- for key, value in pairs(particles:ToTable()) do
-- local mat=value:GetComponent(typeof(UnityEngine.Renderer))
-- if mat.material.shader.name=="YXZ/Effect/Mix Masking(Without Moving)_alphablend" then
-- mat.material.shader=poolManager:LoadAsset("YXZ_MixMaskingWithoutMoving_alphablend_1",poolManager.AssetType.Other)
-- end
-- end
-- end
Util.SetParticleSortLayer(starGrid,this.sortingOrder + 1)
GongMingMask:SetActive(false)--最后检测是否共鸣
if heroData.lockState == 1 or (heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) then
else
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#0f0>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) then
if HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).heroTid == 0 then
-- body
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#ffbe22>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
end
end
end
Util.AddOnceClick(GongMingMask, function()
PopupTipPanel.ShowTip(Language[12184])
end)
Util.AddOnceClick(cardBtn, function()
local isSelect = false
local selectIndex = 0
for i = 1, #currentSelectItems do
if currentSelectItems[i].dynamicId == heroData.dynamicId then
isSelect = true
selectIndex = i
end
end
if isSelect then
choosed:SetActive(false)
-- curSelectHeroList[heroData.dynamicId]=nil
table.remove(currentSelectItems,selectIndex)
-- this.numText.text=string.format("%s/%s",LengthOfTable(curSelectItemOrHeroList),curNeedRoleNum)
return
end
if LengthOfTable(currentSelectItems)>=curNeedRoleNum then
PopupTipPanel.ShowTip(Language[10403])
return
end
-- curSelectHeroList[heroData.dynamicId]=heroData
table.insert(currentSelectItems,heroData)
choosed:SetActive(true)
-- this.numText.text=string.format("%s/%s",LengthOfTable(currentSelectItems),curNeedRoleNum)
end)
Util.AddOnceClick(formationMask, function()
if heroData.isFormation ~= "" then
PopupTipPanel.ShowTip( heroData.isFormation)
return
end
if heroData.lockState == 1 then
PopupTipPanel.ShowTip(Language[10413])
return
end
end)
Util.AddLongPressClick(cardBtn, function()
UIManager.OpenPanel(UIName.RoleInfoPopup,heroData)
end, 0.5)
else
for i = 1, #currentSelectItems do
if currentSelectItems[i].itemData.id == heroData.itemData.id and currentSelectItems[i].index == heroData.index then