miduo_client/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleUpStarSuccessPanel.lua

272 lines
15 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require("Base/BasePanel")
RoleUpStarSuccessPanel = Inherit(BasePanel)
local this=RoleUpStarSuccessPanel
this.skillConfig=ConfigManager.GetConfig(ConfigName.SkillConfig)
local passiveSkillConfig=ConfigManager.GetConfig(ConfigName.PassiveSkillConfig)
local orginLayer = 20
local callBack = nil
--初始化组件(用于子类重写)
function RoleUpStarSuccessPanel:InitComponent()
orginLayer = 20
this.BtnBack = Util.GetGameObject(self.transform, "backBtn")
this.mask = Util.GetGameObject(self.transform, "mask")
this.live2dRoot=Util.GetGameObject(self.transform,"live2dRoot")
this.heroName = Util.GetGameObject(self.transform, "heroInfo/nameAndPossLayout/heroName"):GetComponent("Text")
this.profession = Util.GetGameObject(self.transform, "Pos/PosImage"):GetComponent("Image")
this.proImage = Util.GetGameObject(self.transform, "heroInfo/nameAndPossLayout/proImage/proImage"):GetComponent("Image")
--this.posText = Util.GetGameObject(self.transform, "heroInfo/nameAndPossLayout/posText/posText"):GetComponent("Text")
this.starGrid = Util.GetGameObject(self.transform, "heroInfo/sartAndLvLayout/starGrid")
--this.qualityImage=Util.GetGameObject(self.transform,"quality"):GetComponent("Image")
--this.quality=Util.GetGameObject(self.transform,"quality/qualityText")
--this.doubleQuality=Util.GetGameObject(self.transform,"quality/qualityDoubleText")
this.posBgImage=Util.GetGameObject(self.transform,"Pos"):GetComponent("Image")
-- this.posImage=Util.GetGameObject(self.transform,"Pos/PosImage"):GetComponent("Image")
this.posText=Util.GetGameObject(self.transform,"Pos/PosText"):GetComponent("Text")
this.upLvMaskPanleProAtk=Util.GetGameObject(self.transform,"proInfo/curPros/mainPro/curProVale"):GetComponent("Text")
this.upLvMaskPanleProHp=Util.GetGameObject(self.transform,"proInfo/curPros/otherPro1/curProVale"):GetComponent("Text")
this.upLvMaskPanleProPhyDef=Util.GetGameObject(self.transform,"proInfo/curPros/otherPro2/curProVale"):GetComponent("Text")
this.upLvMaskPanleProMagDef=Util.GetGameObject(self.transform,"proInfo/curPros/otherPro3/curProVale"):GetComponent("Text")
this.upLvMaskPanleProSpeed=Util.GetGameObject(self.transform,"proInfo/curPros/otherPro4/curProVale"):GetComponent("Text")
this.upLvMaskPanleNextProAtk=Util.GetGameObject(self.transform,"proInfo/nextPros/mainPro/curProVale"):GetComponent("Text")
this.upLvMaskPanleNextProHp=Util.GetGameObject(self.transform,"proInfo/nextPros/otherPro1/curProVale"):GetComponent("Text")
this.upLvMaskPanleNextProPhyDef=Util.GetGameObject(self.transform,"proInfo/nextPros/otherPro2/curProVale"):GetComponent("Text")
this.upLvMaskPanleNextProMagDef=Util.GetGameObject(self.transform,"proInfo/nextPros/otherPro3/curProVale"):GetComponent("Text")
this.upLvMaskPanleNextProSpeed=Util.GetGameObject(self.transform,"proInfo/nextPros/otherPro4/curProVale"):GetComponent("Text")
this.s1=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo1")
this.s1MiddleImage=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo1/Image (2)")
this.s1nextSkill=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo1/nextSkill")
this.s2=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo2")
this.s2MiddleImage=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo2/Image (2)")
this.s2nextSkill=Util.GetGameObject(self.transform,"proInfo/skillGrid/skillInfo2/nextSkill")
this.lvEndInfo=Util.GetGameObject(self.transform, "proInfo/lvEndText"):GetComponent("Text")
this.UI_Effect_choukaSSR = Util.GetGameObject(self.transform, "UI_Effect_chouka_SSR")
this.UI_Effect_choukaSR = Util.GetGameObject(self.transform, "UI_Effect_chouka_SR")
this.UI_Effect_choukaR = Util.GetGameObject(self.transform, "UI_Effect_chouka_R")
this.skillTiShi = Util.GetGameObject(self.transform,"proInfo/skillTiShi"):GetComponent("Text")
end
--绑定事件(用于子类重写)
function RoleUpStarSuccessPanel:BindEvent()
Util.AddClick(this.BtnBack, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
end
--添加事件监听(用于子类重写)
function RoleUpStarSuccessPanel:AddListener()
end
--移除事件监听(用于子类重写)
function RoleUpStarSuccessPanel:RemoveListener()
end
function RoleUpStarSuccessPanel:OnSortingOrderChange()
Util.AddParticleSortLayer(this.UI_Effect_choukaSSR, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.UI_Effect_choukaSR, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.UI_Effect_choukaR, self.sortingOrder - orginLayer)
this.mask:GetComponent("Canvas").overrideSorting = true
this.mask:GetComponent("Canvas").sortingOrder = self.sortingOrder - 30
orginLayer = self.sortingOrder
end
--界面打开时调用(用于子类重写)
function RoleUpStarSuccessPanel:OnOpen(...)
Util.GetGameObject(self.transform,"proInfo/curPros/mainPro/curProName"):GetComponent("Text").text = Language[11873]
Util.GetGameObject(self.transform,"proInfo/nextPros/mainPro/curProName"):GetComponent("Text").text = Language[11873]
local args = {...}
local curHeroData=args[1]
local nextHeroUpStarId=args[2]
local curHeroRankUpConfigOpenLevel=args[3]
callBack = args[4]
--this.OnShowPanelData()
this.UI_Effect_choukaSSR:SetActive(curHeroData.heroConfig.Quality == 5)
this.UI_Effect_choukaSR:SetActive(curHeroData.heroConfig.Quality == 4)
this.UI_Effect_choukaR:SetActive(curHeroData.heroConfig.Quality == 3)
this.LiveName = GetResourcePath(curHeroData.heroConfig.Live)
this.LiveGO = poolManager:LoadLive(this.LiveName, this.live2dRoot.transform,
Vector3.one * curHeroData.heroConfig.Scale, Vector3.New(curHeroData.heroConfig.Position[1],curHeroData.heroConfig.Position[2],0))
SetHeroStars(this.starGrid, curHeroData.star+1)
this.profession.sprite = Util.LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession))
LogPink("curHeroData.heroConfig.PropertyName"..curHeroData.heroConfig.PropertyName)
this.proImage.sprite =Util.LoadSprite(GetProStrImageByProNum(curHeroData.heroConfig.PropertyName))
-- LogPurple("curHeroData.heroConfig.profession"..curHeroData.heroConfig.Profession)
-- LogYellow(GetHeroPosStr(curHeroData.heroConfig.Profession))
-- this.proImage.sprite =Util.LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession))
--this.posText.text = GetJobStrByJobNum(curHeroData.profession)
this.heroName.text =curHeroData.heroConfig.ReadingName
--this.qualityImage.sprite=GetQuantityImage(curHeroData.heroConfig.Natural)
--this.quality:SetActive(curHeroData.heroConfig.Natural < 10)
--this.doubleQuality:SetActive(curHeroData.heroConfig.Natural >= 10)
--this.quality:GetComponent("Text").text = curHeroData.heroConfig.Natural
--this.doubleQuality:GetComponent("Text").text = curHeroData.heroConfig.Natural
--定位描述相关
this.posBgImage.sprite=Util.LoadSprite(GetHeroPosBgStr(curHeroData.heroConfig.Profession))
-- this.posImage.sprite=Util.LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession))
this.posText.text=curHeroData.heroConfig.HeroLocation
this.lvEndInfo.text=string.format(Language[11867],curHeroRankUpConfigOpenLevel)
--计算面板属性old
local oldLvAllAddProVal=HeroManager.CalculateHeroAllProValList(1,curHeroData.dynamicId,false)
this.upLvMaskPanleProAtk.text=oldLvAllAddProVal[HeroProType.Attack]
this.upLvMaskPanleProHp.text=oldLvAllAddProVal[HeroProType.Hp]
this.upLvMaskPanleProPhyDef.text=oldLvAllAddProVal[HeroProType.PhysicalDefence]
this.upLvMaskPanleProMagDef.text=oldLvAllAddProVal[HeroProType.MagicDefence]
this.upLvMaskPanleProSpeed.text= oldLvAllAddProVal[HeroProType.Speed]
--计算面板属性cur
local curLvAllAddProVal=HeroManager.CalculateHeroAllProValList(2,curHeroData.dynamicId,false,curHeroData.breakId,nextHeroUpStarId)
this.upLvMaskPanleNextProAtk.text=curLvAllAddProVal[HeroProType.Attack]
this.upLvMaskPanleNextProHp.text=curLvAllAddProVal[HeroProType.Hp]
this.upLvMaskPanleNextProPhyDef.text=curLvAllAddProVal[HeroProType.PhysicalDefence]
this.upLvMaskPanleNextProMagDef.text=curLvAllAddProVal[HeroProType.MagicDefence]
this.upLvMaskPanleNextProSpeed.text= curLvAllAddProVal[HeroProType.Speed]
--技能
this.skillTiShi.text = Language[11874]
local upskillIdList={}
local upIndex=1
local curIndex=1
local curskillIdList={}
if curHeroData.heroConfig.OpenSkillRules then
for i = 1, #curHeroData.heroConfig.OpenSkillRules do
if curHeroData.heroConfig.OpenSkillRules[i][1]==curHeroData.star then
local skilldata={}
Log(Language[11875]..curHeroData.heroConfig.OpenSkillRules[i][2])
skilldata.skillId=curHeroData.heroConfig.OpenSkillRules[i][2]
skilldata.skillConfig=this.skillConfig[curHeroData.heroConfig.OpenSkillRules[i][2]]
upskillIdList[upIndex]=skilldata
upIndex=upIndex+1
end
if curHeroData.heroConfig.OpenSkillRules[i][1]==curHeroData.star+1 then
local skilldata={}
Log(Language[11876]..curHeroData.heroConfig.OpenSkillRules[i][2])
skilldata.skillId=curHeroData.heroConfig.OpenSkillRules[i][2]
skilldata.skillConfig=this.skillConfig[curHeroData.heroConfig.OpenSkillRules[i][2]]
curskillIdList[curIndex]=skilldata
curIndex=curIndex+1
end
end
end
if curHeroData.heroConfig.OpenPassiveSkillRules then
for i = 1, #curHeroData.heroConfig.OpenPassiveSkillRules do
if curHeroData.heroConfig.OpenPassiveSkillRules[i][1]==curHeroData.star then
local skilldata={}
Log(Language[11877]..curHeroData.heroConfig.OpenPassiveSkillRules[i][2])
skilldata.skillId=curHeroData.heroConfig.OpenPassiveSkillRules[i][2]
skilldata.skillConfig=passiveSkillConfig[curHeroData.heroConfig.OpenPassiveSkillRules[i][2]]
upskillIdList[upIndex]=skilldata
upIndex=upIndex+1
end
if curHeroData.heroConfig.OpenPassiveSkillRules[i][1]==curHeroData.star+1 then
local skilldata={}
Log(Language[11878]..curHeroData.heroConfig.OpenPassiveSkillRules[i][2])
skilldata.skillId=curHeroData.heroConfig.OpenPassiveSkillRules[i][2]
skilldata.skillConfig=passiveSkillConfig[curHeroData.heroConfig.OpenPassiveSkillRules[i][2]]
curskillIdList[curIndex]=skilldata
curIndex=curIndex+1
end
end
end
if LengthOfTable(upskillIdList)>=1 then
if (upskillIdList[1].skillId % 10)<(curskillIdList[1].skillId % 10) then
if upskillIdList[1].skillConfig and upskillIdList[1].skillConfig.Name then
this.s1:SetActive(true)
this.s1MiddleImage:SetActive(true)
this.s1nextSkill:SetActive(true)
Util.GetGameObject(this.s1,"curSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(upskillIdList[1].skillConfig.Icon))
Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text=Language[10470]..upskillIdList[1].skillId % 10
Util.GetGameObject(this.s1,"nextSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(curskillIdList[1].skillConfig.Icon))
Util.GetGameObject(this.s1,"nextSkill/skillLv"):GetComponent("Text").text=Language[10470]..curskillIdList[1].skillId % 10
else
this.s1:SetActive(false)
end
else
this.s1:SetActive(false)
end
else
this.s1:SetActive(false)
end
if LengthOfTable(upskillIdList)>=2 then
if (upskillIdList[2].skillId % 10)<(curskillIdList[2].skillId % 10) then
if upskillIdList[2].skillConfig and upskillIdList[2].skillConfig.Name then
Util.GetGameObject(this.s2,"curSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(upskillIdList[2].skillConfig.Icon))
Util.GetGameObject(this.s2,"curSkill/skillLv"):GetComponent("Text").text=Language[10470]..upskillIdList[2].skillId % 10
Util.GetGameObject(this.s2,"nextSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(curskillIdList[2].skillConfig.Icon))
Util.GetGameObject(this.s2,"nextSkill/skillLv"):GetComponent("Text").text=Language[10470]..curskillIdList[2].skillId % 10
this.s2MiddleImage:SetActive(true)
this.s2nextSkill:SetActive(true)
this.s2:SetActive(true)
else
this.s2:SetActive(false)
end
else
this.s2:SetActive(false)
end
else
this.s2:SetActive(false)
end
--是否有新开的技能
local openNewSkillCound =LengthOfTable(curskillIdList) - LengthOfTable(upskillIdList)
if openNewSkillCound == 1 then
this.skillTiShi.text = Language[11879]
this.s1:SetActive(true)
this.s1MiddleImage:SetActive(false)
this.s1nextSkill:SetActive(false)
Util.GetGameObject(this.s1,"curSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(curskillIdList[LengthOfTable(curskillIdList)].skillConfig.Icon))
Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text=Language[10470]..curskillIdList[LengthOfTable(curskillIdList)].skillId % 10
elseif openNewSkillCound == 2 then
this.skillTiShi.text = Language[11879]
this.s1:SetActive(true)
this.s1MiddleImage:SetActive(false)
this.s1nextSkill:SetActive(false)
Util.GetGameObject(this.s1,"curSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(curskillIdList[1].skillConfig.Icon))
Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text=Language[10470]..curskillIdList[1].skillId % 10
this.s2:SetActive(true)
this.s2MiddleImage:SetActive(false)
this.s2nextSkill:SetActive(false)
Util.GetGameObject(this.s2,"curSkill/icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(curskillIdList[2].skillConfig.Icon))
Util.GetGameObject(this.s2,"curSkill/skillLv"):GetComponent("Text").text=Language[10470]..curskillIdList[2].skillId % 10
end
Log("curHeroData.star+1 "..curHeroData.star+1)
if curHeroData.heroConfig.Quality == 5 and curHeroData.heroConfig.Natural >= 13 then
if curHeroData.star+1 >= 5 and curHeroData.star+1 < 15 then
HeroManager.DetectionOpenFiveStarActivity(curHeroData.star+1)
end
end
end
function RoleUpStarSuccessPanel:GetEquipSkillData(skillId)
return this.skillConfig[skillId]
end
--界面关闭时调用(用于子类重写)
function RoleUpStarSuccessPanel:OnClose()
if this.LiveName then
poolManager:UnLoadLive(this.LiveName, this.LiveGO)
this.LiveName = nil
end
if callBack then
callBack()
callBack = nil
end
end
--界面销毁时调用(用于子类重写)
function RoleUpStarSuccessPanel:OnDestroy()
end
return RoleUpStarSuccessPanel