607 lines
30 KiB
Lua
607 lines
30 KiB
Lua
require("Base/BasePanel")
|
|
SpecailTrainingInfoPopup = Inherit(BasePanel)
|
|
----- 修行境界预览弹窗 -----
|
|
-- SpecailTrainingInfoPopup = {}
|
|
--传入父脚本模块
|
|
local parent
|
|
local _HeroTraining
|
|
local Training = ConfigManager.GetConfig(ConfigName.Train)
|
|
local TrainingSetting = ConfigManager.GetConfig(ConfigName.TrainSetting)
|
|
local SkillConfig = ConfigManager.GetConfig(ConfigName.SkillConfig)
|
|
local selectSkillUnlockItems1={}
|
|
local selectSkillUnlockItems2={}
|
|
function SpecailTrainingInfoPopup:InitComponent()
|
|
self.spLoader = SpriteLoader.New()
|
|
self.titleText = Util.GetGameObject(self.gameObject,"Panel/Title"):GetComponent("Text")
|
|
self.btn_help = Util.GetGameObject(self.gameObject,"Panel/btn_help")
|
|
self.itemPre = Util.GetGameObject(self.gameObject,"Panel/Pre")
|
|
self.GameObject = Util.GetGameObject(self.gameObject,"Panel/Scroll")
|
|
self.BackBtn = Util.GetGameObject(self.gameObject, "BackBtn")
|
|
local rootHight = self.GameObject.transform.rect.height
|
|
local width = self.GameObject.transform.rect.width
|
|
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollFitterView, self.GameObject.transform,
|
|
self.itemPre, Vector2.New(width, rootHight), 1, 0)
|
|
self.ScrollView.moveTween.MomentumAmount = 1
|
|
self.ScrollView.moveTween.Strength = 2
|
|
|
|
self.preList = {}
|
|
self.textList = {}
|
|
self.attList={}
|
|
self.attSkill={}
|
|
self.OpenType=1
|
|
|
|
end
|
|
|
|
function SpecailTrainingInfoPopup:BindEvent()
|
|
Util.AddClick(self.BackBtn, function()
|
|
self:ClosePanel()
|
|
end)
|
|
|
|
Util.AddClick(self.btn_help, function()
|
|
UIManager.OpenPanel(UIName.HelpPopup,145,0,0)
|
|
end)
|
|
end
|
|
|
|
function SpecailTrainingInfoPopup:AddListener()
|
|
end
|
|
|
|
function SpecailTrainingInfoPopup:RemoveListener()
|
|
end
|
|
--type 1 是自己的英雄打开 --type 2 是别人的英雄打开
|
|
function SpecailTrainingInfoPopup:OnOpen(curHeroData,OpenType)
|
|
self._curHerodata = curHeroData
|
|
self._HeroTraining=curHeroData.HeroTraining
|
|
self.showList={}
|
|
self.OpenType=OpenType
|
|
self.curLevelData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.Train,"HeroID",self._curHerodata.id,"Level",self._HeroTraining.trainingLv)
|
|
end
|
|
|
|
function SpecailTrainingInfoPopup:OnShow()
|
|
|
|
|
|
--不定参中包含的不定参 _args[1]为面板类型 _args[2]之后(包括)为打开面板后传入的不定参
|
|
self.titleText.text = "特训"
|
|
--self.previewData = PracticeManager.GetPreViewData()
|
|
|
|
local tData=ConfigManager.TryGetAllConfigsDataByKey(ConfigName.Train,"HeroID",self._curHerodata.id)
|
|
if tData then
|
|
for k,v in ipairs(tData) do
|
|
if not self.showList[k] then
|
|
self.showList[k]={data=v,curTrainingLevel=self._curHerodata.HeroTraining.trainingLv}
|
|
end
|
|
end
|
|
end
|
|
HeroManager.GetHeroTrainingAddPro(self._curHerodata.dynamicId)
|
|
self.ScrollView:SetData(self.showList, function(index, go)
|
|
self:SetSingleData(index,go,self.showList[index])
|
|
LayoutRebuilder.ForceRebuildLayoutImmediate(go.transform)
|
|
end)
|
|
--ForceRebuildLayout(self.GameObject.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(self.GameObject.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(self.GameObject.transform)
|
|
self.ScrollView:SetIndex(1)
|
|
LayoutRebuilder.ForceRebuildLayoutImmediate(self.GameObject.transform)
|
|
end
|
|
--
|
|
--_data=TrainingConfig
|
|
--
|
|
function SpecailTrainingInfoPopup:SetSingleData(index,_go,_data)
|
|
local tData=_data.data
|
|
local curLevel=_data.curTrainingLevel
|
|
local title = Util.GetGameObject(_go,"HeroInfo/title/Text"):GetComponent("Text")
|
|
title.text= Language[12326]..Language[10000+tData.Level]..Language[10065]
|
|
local heroContion= Util.GetGameObject(_go,"HeroInfo/heroContion")
|
|
local condition= Util.GetGameObject(heroContion,"condition"):GetComponent("Text")
|
|
local Content=Util.GetGameObject(_go,"Content")
|
|
local SkillContent=Util.GetGameObject(_go,"SkillContent")
|
|
local attPre=Util.GetGameObject(_go,"Content/attPre")
|
|
local numPre= Util.GetGameObject(_go,"Content/attPre/numPre")
|
|
local mySelfCondition= Util.GetGameObject(_go,"HeroInfo/title/TrainingStatus/mySelfCondition"):GetComponent("Text")
|
|
local trainingIcon= Util.GetGameObject(_go,"HeroInfo/title/TrainingStatus/trainingIcon")
|
|
trainingIcon:GetComponent("Image").sprite=self.spLoader:LoadSprite("r_map_time")
|
|
local DesTip=Util.GetGameObject(_go,"DesTip")
|
|
DesTip.gameObject:SetActive(tData.Level==#self.showList)
|
|
-- local isOpen=self._curHerodata.star>=tData.MyselfCondition and curLevel>=tData.Level
|
|
local lastLevelData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.Train,"HeroID",self._curHerodata.id,"Level",tData.Level-1==0 and 1 or tData.Level-1)
|
|
local isOpen= self._curHerodata.star>=lastLevelData.MyselfCondition and curLevel>=tData.Level
|
|
if curLevel ==1 and tData.Level==1 then
|
|
isOpen=true
|
|
end
|
|
if tData.Level>1 then
|
|
mySelfCondition.gameObject:SetActive(lastLevelData.MyselfCondition~=0)
|
|
mySelfCondition.text=NumToChinese[lastLevelData.MyselfCondition==0 and 1 or lastLevelData.MyselfCondition].."星开启"
|
|
condition.gameObject:SetActive(tData.Desc~="")
|
|
condition.text=tData.Desc
|
|
if lastLevelData.OtherCondition then
|
|
if type(lastLevelData.OtherCondition[1][1])=="userdata" then
|
|
heroContion:SetActive(false)
|
|
else
|
|
heroContion:SetActive(true)
|
|
for i=1, #lastLevelData.OtherCondition do
|
|
local t= Util.GetGameObject(heroContion.transform,"HeroList/hero"..tostring(i).."/hero/icon"):GetComponent("Image")
|
|
t.sprite=self.spLoader:LoadSprite(GetResourcePath(ConfigManager.GetConfigDataByKey(ConfigName.HeroConfig,"Id",lastLevelData.OtherCondition[i][1]).Icon))
|
|
end
|
|
end
|
|
else
|
|
heroContion:SetActive(false)
|
|
|
|
end
|
|
else
|
|
heroContion:SetActive(false)
|
|
mySelfCondition.gameObject:SetActive(false)
|
|
condition.gameObject:SetActive(false)
|
|
end
|
|
trainingIcon:SetActive(tData.Level==curLevel and self._curHerodata.HeroTraining.isTraining==1)
|
|
|
|
--最外层Pre
|
|
if not self.attList[_go] then
|
|
self.attList[_go] = {}
|
|
end
|
|
if not self.attSkill[_go] then
|
|
self.attSkill[_go] = {}
|
|
end
|
|
local singleAttList = self.attList[_go]
|
|
for k,v in ipairs(singleAttList) do
|
|
if v[1]then
|
|
v[1].gameObject:SetActive(false)
|
|
end
|
|
end
|
|
local ActiveButton = Util.GetGameObject(_go,"HeroInfo/title/TrainingStatus/ActiveBtn")
|
|
ActiveButton:GetComponent("Image").sprite=self.spLoader:LoadSprite("r_guanka_zouguodian_02")
|
|
|
|
local TrainingSetting=ConfigManager.GetConfigDataByDoubleKey(ConfigName.TrainSetting,"PoolID",tData.TrainSettingID,"Level",tData.Level)
|
|
local lastLevelTrainingSetting=ConfigManager.GetConfigDataByDoubleKey(ConfigName.TrainSetting,"PoolID",tData.TrainSettingID,"Level",(tData.Level-1)==0 and 1 or tData.Level-1)
|
|
|
|
for i = 1, 3 do
|
|
if not singleAttList[i] then
|
|
local t={}
|
|
local prefab=newObject(attPre)
|
|
prefab.transform:SetParent(Content.transform)
|
|
prefab.transform.localScale = Vector3.one
|
|
prefab.transform.localPosition = Vector3.zero
|
|
t[1]=prefab
|
|
singleAttList[i] = t
|
|
|
|
end
|
|
local Text = Util.GetGameObject( singleAttList[i][1],"Text"):GetComponent("Text")
|
|
local NoOpen = Util.GetGameObject( singleAttList[i][1],"NoOpen")
|
|
local Finishi = Util.GetGameObject( singleAttList[i][1],"Finishi")
|
|
local Button = Util.GetGameObject( singleAttList[i][1],"Button")
|
|
Util.AddOnceClick(Button,function()
|
|
if not CheckFunctionOpen(FUNCTION_OPEN_TYPE.TrainBuild) then
|
|
PopupTipPanel.ShowTip("特训建筑功能未开启")
|
|
return
|
|
end
|
|
if (ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TrainBuild)) then
|
|
NetManager.TrainingArchitectureInfoRequest(function()
|
|
UIManager.OpenPanel(UIName.TrainBuildPanel)
|
|
end)
|
|
else
|
|
local tip = ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.TrainBuild)
|
|
PopupTipPanel.ShowTip(tip)
|
|
end
|
|
|
|
end)
|
|
NoOpen:SetActive(not isOpen);
|
|
Finishi:SetActive(false);
|
|
|
|
|
|
|
|
-- local string,string2 = PracticeManager.GetPreviewSingleText(templist[i].id,templist[i].value)
|
|
|
|
local tAtt={}
|
|
local trainExp=100000
|
|
local curExp=0
|
|
if not singleAttList[i][2] then
|
|
singleAttList[i][2]={}
|
|
end
|
|
local singleTextList= singleAttList[i][2]
|
|
if i==1 then
|
|
tAtt=TrainingSetting.AttackProperty
|
|
trainExp=TrainingSetting.TrainExp1
|
|
curExp=self._curHerodata.HeroTraining.attackExp
|
|
Text.text="攻击特训"
|
|
elseif i==2 then
|
|
tAtt=TrainingSetting.HpProperty
|
|
trainExp=TrainingSetting.TrainExp2
|
|
curExp=self._curHerodata.HeroTraining.hpExp
|
|
Text.text="血量特训"
|
|
elseif i==3 then
|
|
tAtt=TrainingSetting.PhProperty
|
|
trainExp=TrainingSetting.TrainExp3
|
|
curExp=self._curHerodata.HeroTraining.defenseExp
|
|
Text.text="防御特训"
|
|
end
|
|
for j=1 ,#tAtt do
|
|
local str1,str2=HeroManager.GetAttSingleText(tAtt[j][1],tAtt[j][2]);
|
|
if not singleTextList[j] then
|
|
singleTextList[j] = newObject(numPre)
|
|
singleTextList[j].transform:SetParent( singleAttList[i][1].transform)
|
|
singleTextList[j].transform.localScale = Vector3.one
|
|
singleTextList[j].transform.localPosition = Vector3.zero
|
|
end
|
|
singleTextList[j]:GetComponent("Text").text=str1..str2
|
|
singleTextList[j]:SetActive(true)
|
|
end
|
|
if tData.Level>curLevel then
|
|
curExp=0
|
|
end
|
|
|
|
Button.gameObject:SetActive(isOpen and self.OpenType==1);
|
|
local size = curExp/trainExp
|
|
if curExp>=trainExp then
|
|
curExp=trainExp
|
|
Button.gameObject:SetActive(false);
|
|
Finishi:SetActive(true);
|
|
end
|
|
if curLevel>tData.Level then
|
|
size=1
|
|
curExp=trainExp
|
|
Finishi:SetActive(true)
|
|
NoOpen:SetActive(false)
|
|
Button.gameObject:SetActive(false);
|
|
end
|
|
size = size > 1 and 1 or size
|
|
Util.GetGameObject( singleAttList[i][1],"Progress/Image"):GetComponent("RectTransform").sizeDelta = Vector3.New(360*size,25,0)
|
|
Util.GetGameObject( singleAttList[i][1],"Progress/Text"):GetComponent("Text").text = string.format("%s/%s",curExp,trainExp)
|
|
-- ForceRebuildLayout( singleAttList[i][1].transform)
|
|
LayoutRebuilder.ForceRebuildLayoutImmediate(singleAttList[i][1].transform)
|
|
singleAttList[i][1]:SetActive(true)
|
|
end
|
|
local activeIsOpen=false
|
|
|
|
if (tData.Level-curLevel==1) and (self._curHerodata.HeroTraining.attackExp>=lastLevelTrainingSetting.TrainExp1 and self._curHerodata.HeroTraining.defenseExp>=lastLevelTrainingSetting.TrainExp2 and self._curHerodata.HeroTraining.hpExp>=lastLevelTrainingSetting.TrainExp3 )and self._curHerodata.star>=lastLevelData.MyselfCondition and HeroManager.CheckTrainingCanLevelUp(self._curHerodata,self.curLevelData) then
|
|
activeIsOpen=true
|
|
else
|
|
activeIsOpen=false
|
|
end
|
|
ActiveButton:SetActive(activeIsOpen and self.OpenType==1)
|
|
Util.AddOnceClick(ActiveButton, function()
|
|
NetManager.TrainingUpLvRequest(tostring( self._curHerodata.dynamicId),function()
|
|
self.curLevelData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.Train,"HeroID",self._curHerodata.id,"Level",self._curHerodata.HeroTraining.trainingLv)
|
|
local t=ConfigManager.TryGetAllConfigsDataByKey(ConfigName.Train,"HeroID",self._curHerodata.id)
|
|
if t then
|
|
for k,v in ipairs(t) do
|
|
if not self.showList[k] then
|
|
self.showList[k]={data=v,curTrainingLevel=self._curHerodata.HeroTraining.trainingLv}
|
|
else
|
|
self.showList[k].curTrainingLevel=self._curHerodata.HeroTraining.trainingLv
|
|
end
|
|
end
|
|
end
|
|
self.ScrollView:SetData(self.showList, function(index, go)
|
|
self:SetSingleData(index,go,self.showList[index])
|
|
end)
|
|
end)
|
|
end)
|
|
local singleSkillList = self.attSkill[_go]
|
|
for k,v in ipairs(singleSkillList) do
|
|
if v then
|
|
v.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
if tData.PassiveSkill and type(tData.PassiveSkill[1])~="userdata" then
|
|
SkillContent:SetActive(true)
|
|
local skill=ConfigManager.GetConfigData( ConfigName.PassiveSkillConfig,tData.PassiveSkill[1])
|
|
local icon=Util.GetGameObject( SkillContent,"IconBG/Icon"):GetComponent("Image")
|
|
local Name=Util.GetGameObject( SkillContent,"IconBG/Text"):GetComponent("Text")
|
|
local Desc=Util.GetGameObject( SkillContent,"IconBG/des1/Text"):GetComponent("Text")
|
|
local itemPre=Util.GetGameObject( SkillContent,"Chose/Content/itemPre")
|
|
local localContent=Util.GetGameObject( SkillContent,"Chose/Content")
|
|
local Chose=Util.GetGameObject( SkillContent,"Chose")
|
|
local skillBtn=Util.GetGameObject( SkillContent,"Chose/Button")
|
|
local tip=Util.GetGameObject( SkillContent,"Chose/Tip")
|
|
local tip2=Util.GetGameObject( SkillContent,"IconBG/Tip2")
|
|
tip:GetComponent("Text").text="特训"..NumToChinese [tData.Level].."级开启"
|
|
Util.AddOnceClick(skillBtn,function()
|
|
if curLevel<=tData.Level and (TrainingSetting.TrainExp1>self._curHerodata.HeroTraining.attackExp or TrainingSetting.TrainExp2>self._curHerodata.HeroTraining.defenseExp or TrainingSetting.TrainExp3>self._curHerodata.HeroTraining.hpExp )then
|
|
PopupTipPanel.ShowTip(Language[12268])
|
|
return
|
|
end
|
|
if tData.Level<=curLevel then
|
|
|
|
if #selectSkillUnlockItems1==0 or #selectSkillUnlockItems2==0 then
|
|
PopupTipPanel.ShowTip(Language[10054])
|
|
return
|
|
end
|
|
local item={}
|
|
local pokemenons={}
|
|
local godWeapon={}
|
|
--local noHeroList={}
|
|
if selectSkillUnlockItems1[1].type==3 then
|
|
for i=1,#selectSkillUnlockItems1 do
|
|
local t=selectSkillUnlockItems1[i]
|
|
local pockemen={}
|
|
pokemenons[i]=selectSkillUnlockItems1[i].dynamicId
|
|
end
|
|
--noHeroList=pokemenons
|
|
elseif selectSkillUnlockItems1[1].type==4 then
|
|
for i=1,#selectSkillUnlockItems1 do
|
|
local t=selectSkillUnlockItems1[i]
|
|
local pockemen={}
|
|
godWeapon[i]=selectSkillUnlockItems1[i].dynamicId
|
|
end
|
|
--noHeroList=godWeapon
|
|
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]
|
|
local Heroitem={}
|
|
Heroitem.type=t.type
|
|
if t.type==1 then
|
|
Heroitem.id= t.dynamicId
|
|
else
|
|
Heroitem.id= t.id
|
|
end
|
|
Heroitem.num=1
|
|
TrainingUnlockSkillHeroItem[i]=Heroitem
|
|
end
|
|
|
|
local magicSoldierIds={}
|
|
magicSoldierIds[1]=""
|
|
--LogError("111111111111111111111111111111111111111111111111111111111111111111111111111 noHeroList=="..#noHeroList.." TrainingUnlockSkillHeroItem=="..#TrainingUnlockSkillHeroItem)
|
|
NetManager.TrainingUnlockSkillRequest( self._curHerodata.dynamicId,tData.Id,pokemenons,godWeapon,TrainingUnlockSkillHeroItem,item,function (msg)
|
|
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1)
|
|
if #TrainingUnlockSkillHeroItem>0 then
|
|
local t={}
|
|
for i=1 ,#TrainingUnlockSkillHeroItem do
|
|
t[i]=TrainingUnlockSkillHeroItem[i].id
|
|
end
|
|
HeroManager.DeleteHeroDatas(t)
|
|
end
|
|
selectSkillUnlockItems1={}
|
|
selectSkillUnlockItems2={}
|
|
if pokemenons and #pokemenons>0 then
|
|
PokemonManager.RemovePokemonData(pokemenons)
|
|
end
|
|
if godWeapon and #godWeapon>0 then
|
|
--PokemonManager.RemovePokemonData(pokemenons)
|
|
GodWeaponManager.RemoveWeaponData(godWeapon)
|
|
end
|
|
if self.OpenType==1 then
|
|
if CheckListIsContainValue1(self._curHerodata.HeroTraining.unlockIds,tData.Id) then
|
|
Chose:SetActive(false)
|
|
tip2:SetActive(true)
|
|
else
|
|
Chose:SetActive(true)
|
|
tip2:SetActive(false)
|
|
end
|
|
else
|
|
if CheckListIsContainValue1(self._curHerodata.HeroTraining.unlockIds,tData.Id) then
|
|
Chose:SetActive(false)
|
|
tip2:SetActive(true)
|
|
localContent:SetActive(true)
|
|
skillBtn:SetActive(true)
|
|
else
|
|
Chose:SetActive(true)
|
|
tip2:SetActive(false)
|
|
localContent:SetActive(false)
|
|
skillBtn:SetActive(false)
|
|
end
|
|
end
|
|
self.ScrollView:SetData(self.showList, function(index, go)
|
|
self:SetSingleData(index,go,self.showList[index])
|
|
end)
|
|
--ForceRebuildLayout(_go.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(_go.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(_go.transform)
|
|
--ForceRebuildLayout(self.GameObject.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(self.GameObject.transform)
|
|
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(self.GameObject.transform)
|
|
end)
|
|
end
|
|
end
|
|
)
|
|
icon.sprite=self.spLoader:LoadSprite(GetResourcePath(skill.Icon))
|
|
Name.text=skill.Name
|
|
Desc.text=skill.Desc
|
|
if self.OpenType==1 then
|
|
if CheckListIsContainValue1(self._curHerodata.HeroTraining.unlockIds,tData.Id) then
|
|
Chose:SetActive(false)
|
|
tip2:SetActive(true)
|
|
else
|
|
Chose:SetActive(true)
|
|
tip2:SetActive(false)
|
|
end
|
|
else
|
|
if CheckListIsContainValue1(self._curHerodata.HeroTraining.unlockIds,tData.Id) then
|
|
Chose:SetActive(false)
|
|
tip2:SetActive(true)
|
|
localContent:SetActive(true)
|
|
skillBtn:SetActive(true)
|
|
else
|
|
Chose:SetActive(true)
|
|
tip2:SetActive(false)
|
|
localContent:SetActive(false)
|
|
skillBtn:SetActive(false)
|
|
end
|
|
end
|
|
local tmpData={}
|
|
for i=1,#tData.NeedItem1 do
|
|
tmpData[i]={}
|
|
tmpData[i].data=tData.NeedItem1[i]
|
|
tmpData[i].type=1---Item 栏位
|
|
if tData.NeedItem1[i][1]== 21 then
|
|
tmpData[i].type=3
|
|
elseif tData.NeedItem1[i][1]== 53 then
|
|
tmpData[i].type=4
|
|
end
|
|
if tData.NeedItem1[i][1]== 56 then
|
|
tmpData[i].Name= ItemBaseTypeName[tData.NeedItem1[i][2]]
|
|
else
|
|
tmpData[i].Name= ItemTypeName[tData.NeedItem1[i][1]]
|
|
end
|
|
end
|
|
local index=#tmpData
|
|
for i=index+1,index+#tData.NeedHero do
|
|
-- local HeroGroup=ConfigManager.GetConfigData(ConfigName.HeroRankupGroup,tData.NeedHero[i-index][1])
|
|
tmpData[i]={}
|
|
-- if HeroGroup then
|
|
tmpData[i].heroGroupData=tData.NeedHero[i-index]
|
|
tmpData[i].type=2--hero烂尾
|
|
tmpData[i].Name= ItemTypeName[1]
|
|
-- end
|
|
tmpData[i].NeedHeroOther=tData.NeedHeroOther
|
|
|
|
end
|
|
for i = 1, #tmpData do
|
|
if not singleSkillList[i] then
|
|
singleSkillList[i]=newObject(itemPre)
|
|
singleSkillList[i].transform:SetParent(Util.GetGameObject( SkillContent,"Chose/Content").transform)
|
|
singleSkillList[i].transform.localScale = Vector3.one
|
|
singleSkillList[i].transform.localPosition = Vector3.zero
|
|
end
|
|
local curData=tmpData[i]
|
|
local itemIcon= Util.GetGameObject(singleSkillList[i],"hero/icon"):GetComponent("Image")
|
|
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")
|
|
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]
|
|
elseif curData.type==2 then
|
|
needNum.text="0".."/"..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")
|
|
local Btn=Util.GetGameObject(singleSkillList[i],"frame")
|
|
|
|
Util.AddOnceClick(Btn, function()
|
|
if curLevel<=tData.Level and (TrainingSetting.TrainExp1>self._curHerodata.HeroTraining.attackExp or TrainingSetting.TrainExp2>self._curHerodata.HeroTraining.defenseExp or TrainingSetting.TrainExp3>self._curHerodata.HeroTraining.hpExp )then
|
|
PopupTipPanel.ShowTip(Language[12268])
|
|
return
|
|
end
|
|
UIManager.OpenPanel(UIName.TrainingItemListPanel,curData,
|
|
function(selectItems,selectHeroOrItems)
|
|
itemIcon.gameObject:SetActive(true)
|
|
LogError("curData.type==========="..curData.type)
|
|
if curData.type==1 then
|
|
selectSkillUnlockItems1={}
|
|
if #selectItems>0 then
|
|
selectSkillUnlockItems1={}
|
|
itemIcon.sprite=self.spLoader:LoadSprite(selectItems[1].itemData.icon)
|
|
add:SetActive(false)
|
|
needNum.text=#selectItems.."/"..neednum
|
|
for i=1 ,#selectItems do
|
|
selectSkillUnlockItems1[i]=selectItems[i]
|
|
end
|
|
else
|
|
itemIcon.sprite=self.spLoader:LoadSprite("UI_hz_beibao_duigoudi")
|
|
add:SetActive(true)
|
|
needNum.text="0".."/"..neednum
|
|
end
|
|
elseif curData.type==2 then
|
|
selectSkillUnlockItems2={}
|
|
if #selectHeroOrItems>0 then
|
|
|
|
if selectHeroOrItems[1].type==1 then
|
|
itemIcon.sprite=self.spLoader:LoadSprite(selectHeroOrItems[1].icon)
|
|
needNum.text=#selectHeroOrItems.."/"..neednum
|
|
else
|
|
local itemConfig = ConfigManager.TryGetConfigData(ConfigName.ItemConfig,selectHeroOrItems[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=#selectHeroOrItems.."/"..neednum
|
|
end
|
|
for i=1 ,#selectHeroOrItems do
|
|
selectSkillUnlockItems2[i]=selectHeroOrItems[i]
|
|
end
|
|
add:SetActive(false)
|
|
else
|
|
itemIcon.sprite=self.spLoader:LoadSprite("r_hero_jinjie-touxiang2")
|
|
add:SetActive(true)
|
|
needNum.text="0".."/"..neednum
|
|
end
|
|
elseif curData.type==3 then
|
|
selectSkillUnlockItems1={}
|
|
if #selectItems>0 then
|
|
LogError("selectItems======================"..#selectItems.." selectItems[1].type==="..selectItems[1].type)
|
|
if selectItems[1].type==1 or selectItems[1].type==3 then
|
|
itemIcon.sprite=self.spLoader:LoadSprite(selectItems[1].icon)
|
|
needNum.text=#selectItems.."/"..neednum
|
|
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
|
|
elseif curData.type==4 then
|
|
selectSkillUnlockItems1={}
|
|
if #selectItems>0 then
|
|
LogError("selectItems======================"..#selectItems.." selectItems[1].type==="..selectItems[1].type.."selectItems[1].id=="..selectItems[1].id)
|
|
local itemConfig = ConfigManager.TryGetConfigData(ConfigName.ItemConfig,selectItems[1].id)
|
|
if not itemConfig then return end
|
|
itemIcon.sprite=self.spLoader:LoadSprite(GetResourcePath(itemConfig.ResourceID))
|
|
needNum.text=#selectItems.."/"..neednum
|
|
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
|
|
,neednum, selectSkillUnlockItems1 ,selectSkillUnlockItems2,self )
|
|
end)
|
|
|
|
singleSkillList[i]:SetActive(true)
|
|
end
|
|
|
|
else
|
|
SkillContent:SetActive(false)
|
|
end
|
|
|
|
--ForceRebuildLayout(_go.transform)
|
|
LayoutRebuilder.ForceRebuildLayoutImmediate(_go.transform)
|
|
_go:SetActive(true)
|
|
end
|
|
function SpecailTrainingInfoPopup:SetSingleData2(index,_go,_data)
|
|
|
|
end
|
|
function SpecailTrainingInfoPopup:CheckCanLvUp(curLevel,tdLevel)
|
|
|
|
end
|
|
function SpecailTrainingInfoPopup:OnClose()
|
|
selectSkillUnlockItems1={}
|
|
selectSkillUnlockItems2={}
|
|
self.OpenType=1
|
|
end
|
|
|
|
function SpecailTrainingInfoPopup:OnDestroy()
|
|
|
|
end
|
|
|
|
return SpecailTrainingInfoPopup |