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 local heroRankupConfig = ConfigManager.GetConfig(ConfigName.HeroRankupConfig) local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig) --初始化组件(用于子类重写) function RoleUpStarSuccessPanel:InitComponent() this.spLoader = SpriteLoader.New() 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") --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/GameObject/proInfo/curPros/mainPro/curProVale"):GetComponent("Text") this.upLvMaskPanleProHp=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/curPros/otherPro1/curProVale"):GetComponent("Text") this.upLvMaskPanleProPhyDef=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/curPros/otherPro2/curProVale"):GetComponent("Text") this.upLvMaskPanleProMagDef=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/curPros/otherPro3/curProVale"):GetComponent("Text") this.upLvMaskPanleProSpeed=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/curPros/otherPro4/curProVale"):GetComponent("Text") this.upLvMaskPanleNextProAtk=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/mainPro/curProVale"):GetComponent("Text") this.upLvMaskPanleNextProHp=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/otherPro1/curProVale"):GetComponent("Text") this.upLvMaskPanleNextProPhyDef=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/otherPro2/curProVale"):GetComponent("Text") this.upLvMaskPanleNextProMagDef=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/otherPro3/curProVale"):GetComponent("Text") this.upLvMaskPanleNextProSpeed=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/otherPro4/curProVale"):GetComponent("Text") this.upLvShowGoText=Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/Text"):GetComponent("Text") this.talentInfoText=Util.GetGameObject(self.transform,"proInfo/GameObject/talentInfo/Text"):GetComponent("Text") this.curTalentVale=Util.GetGameObject(self.transform,"proInfo/GameObject/talentInfo/curTalentVale"):GetComponent("Text") this.talentInfoShowGo=Util.GetGameObject(self.transform,"proInfo/GameObject/talentInfo") -- 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 Util.SetParticleSortLayer(this.starGrid,self.sortingOrder + 1) orginLayer = self.sortingOrder end --界面打开时调用(用于子类重写) function RoleUpStarSuccessPanel:OnOpen(...) Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/curPros/mainPro/curProName"):GetComponent("Text").text = Language[11838] Util.GetGameObject(self.transform,"proInfo/GameObject/proInfo/nextPros/mainPro/curProName"):GetComponent("Text").text = Language[11838] this.upLvShowGoText.text = Language[11430] 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 = curHeroData.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.spLoader, this.starGrid, curHeroData.star+1,1,Vector2.New(60,60),-11,Vector2.New(0.5,0.5)) Util.SetParticleSortLayer(this.starGrid,self.sortingOrder + 1) SetHEeroLiveToward(this.LiveGO,curHeroData.heroConfig.Toward) this.profession.sprite = this.spLoader:LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession)) this.proImage.sprite =this.spLoader:LoadSprite(GetProStrImageByProNum(curHeroData.changeProId)) -- LogPurple("curHeroData.heroConfig.profession:"..curHeroData.heroConfig.Profession) -- LogYellow(GetHeroPosStr(curHeroData.heroConfig.Profession)) -- this.proImage.sprite =this.spLoader:LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession)) --this.posText.text = GetJobStrByJobNum(curHeroData.profession) this.heroName.text =GetLanguageStrById(curHeroData.heroConfig.ReadingName) --this.qualityImage.sprite=GetQuantityImage(this.spLoader, 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=this.spLoader:LoadSprite(GetHeroPosBgStr(curHeroData.heroConfig.Profession)) -- this.posImage.sprite=this.spLoader:LoadSprite(GetHeroPosStr(curHeroData.heroConfig.Profession)) this.posText.text=GetLanguageStrById(curHeroData.heroConfig.HeroLocation) SetTextVerTial(this.posText.gameObject,Vector3.New(64,0,0),"MiddleLeft") this.lvEndInfo.text=string.format(Language[11791],curHeroRankUpConfigOpenLevel) --计算面板属性old local oldLvAllAddProVal= HeroPropManager.GetHeroProp(curHeroData.dynamicId) 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) -- 生成一个临时英雄数据,使用完成后需主动清理 local tempDId, tempData = HeroTempPropManager.CreateTempHero(curHeroData.dynamicId) tempData.upStarId = nextHeroUpStarId tempData.breakId = curHeroData.breakId local curLvAllAddProVal = HeroTempPropManager.GetTempHeroProp(tempDId)--HeroPowerManager.GetNextHeroPower(curHeroData.dynamicId, nil,curHeroData.breakId,nextHeroUpStarId) HeroTempPropManager.ClearTempHero(tempDId)-- 清理 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] --天赋2#7#127107 LogPink("curHeroData.upStarId "..nextHeroUpStarId) local talentSKillsConFig = ConfigManager.GetConfigData(ConfigName.HeroConfig,curHeroData.id).OpenPassiveSkillRules local upStarSkillDataList = {} for i = 1, #talentSKillsConFig do if talentSKillsConFig[i][1] == 2 then--升星 LogPink("talentSKillsConFig[i][2] "..talentSKillsConFig[i][2]) if nextHeroUpStarId == talentSKillsConFig[i][2] then local _titleStr = NumToSimplenessFont[heroRankupConfig[nextHeroUpStarId].Phase[2]] .. Language[11792] local _passiveSkillId = passiveSkillConfig[talentSKillsConFig[i][3]].Id if upStarSkillDataList[nextHeroUpStarId] then upStarSkillDataList[nextHeroUpStarId] = {titleStr = _titleStr,str = upStarSkillDataList[nextHeroUpStarId].str .. "  "..GetLanguageStrById(passiveSkillConfig[talentSKillsConFig[i][3]].Desc)} else upStarSkillDataList[nextHeroUpStarId] = {titleStr = _titleStr,str = GetLanguageStrById(passiveSkillConfig[talentSKillsConFig[i][3]].Desc)} end end end end this.curTalentVale=Util.GetGameObject(self.transform,"proInfo/GameObject/talentInfo/curTalentVale"):GetComponent("Text") this.talentInfoShowGo=Util.GetGameObject(self.transform,"proInfo/GameObject/talentInfo") if upStarSkillDataList and LengthOfTable(upStarSkillDataList) > 0 then this.talentInfoShowGo:SetActive(true) this.talentInfoText.text = Language[11839] this.curTalentVale.text = upStarSkillDataList[nextHeroUpStarId].str else this.talentInfoShowGo:SetActive(false) end --技能 -- this.skillTiShi.text = "等级技能提升" -- 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("当前技能 "..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("升星技能id "..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("当前被动技能 "..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("升星被动技能id "..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=this.spLoader:LoadSprite(GetResourcePath(upskillIdList[1].skillConfig.Icon)) -- Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text="等级"..upskillIdList[1].skillId % 10 -- Util.GetGameObject(this.s1,"nextSkill/icon"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(curskillIdList[1].skillConfig.Icon)) -- Util.GetGameObject(this.s1,"nextSkill/skillLv"):GetComponent("Text").text="等级"..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=this.spLoader:LoadSprite(GetResourcePath(upskillIdList[2].skillConfig.Icon)) -- Util.GetGameObject(this.s2,"curSkill/skillLv"):GetComponent("Text").text="等级"..upskillIdList[2].skillId % 10 -- Util.GetGameObject(this.s2,"nextSkill/icon"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(curskillIdList[2].skillConfig.Icon)) -- Util.GetGameObject(this.s2,"nextSkill/skillLv"):GetComponent("Text").text="等级"..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 = "新增技能" -- this.s1:SetActive(true) -- this.s1MiddleImage:SetActive(false) -- this.s1nextSkill:SetActive(false) -- Util.GetGameObject(this.s1,"curSkill/icon"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(curskillIdList[LengthOfTable(curskillIdList)].skillConfig.Icon)) -- Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text="等级"..curskillIdList[LengthOfTable(curskillIdList)].skillId % 10 -- elseif openNewSkillCound == 2 then -- this.skillTiShi.text = "新增技能" -- this.s1:SetActive(true) -- this.s1MiddleImage:SetActive(false) -- this.s1nextSkill:SetActive(false) -- Util.GetGameObject(this.s1,"curSkill/icon"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(curskillIdList[1].skillConfig.Icon)) -- Util.GetGameObject(this.s1,"curSkill/skillLv"):GetComponent("Text").text="等级"..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=this.spLoader:LoadSprite(GetResourcePath(curskillIdList[2].skillConfig.Icon)) -- Util.GetGameObject(this.s2,"curSkill/skillLv"):GetComponent("Text").text="等级"..curskillIdList[2].skillId % 10 -- end -- Log("curHeroData.star+1 "..curHeroData.star+1) if curHeroData.star+1 >= 5 and curHeroData.star+1 < 15 then HeroPropManager.SetDirtyByType(curHeroData.dynamicId, Hero_Prop_Type.Talisman) end 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() this.spLoader:Destroy() end return RoleUpStarSuccessPanel