[图鉴]==========图鉴详情修改提交

dev_chengFeng
wangzhenxing 2022-01-15 17:12:40 +08:00
parent 2df3e777db
commit 1d170dfd2d
2 changed files with 1594 additions and 64 deletions

View File

@ -7,8 +7,9 @@ local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local heroLevelConfig = ConfigManager.GetConfig(ConfigName.HeroLevelConfig)
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
local allAddProVal = {}
local allBtns={}
local breakId,upStarId
local orginLayer=0
--初始化组件(用于子类重写)
function HandBookRoleInfoLayout:New(gameObject)
@ -37,12 +38,22 @@ function HandBookRoleInfoLayout:InitComponent()
self.skillGrid=Util.GetGameObject(self.gameObject,"skill")
self.line1=Util.GetGameObject(self.skillGrid,"line1")
self.line2=Util.GetGameObject(self.skillGrid,"line2")
self.line3=Util.GetGameObject(self.gameObject,"skillBtns/line3")
self.line4=Util.GetGameObject(self.gameObject,"skillBtns/line4")
self.selsectSkillImage=Util.GetGameObject(self.gameObject,"selsectSkillImage")
self.posBtn= Util.GetGameObject(self.gameObject,"dingwei/posBtn")
self.posTxt=Util.GetGameObject(self.gameObject,"dingwei/posText"):GetComponent("Text")
self.lvTxt=Util.GetGameObject(self.gameObject,"lvObj/lvTxt"):GetComponent("Text")
self.proImg=Util.GetGameObject(self.gameObject,"posImage"):GetComponent("Image")
self.proTxt=Util.GetGameObject(self.gameObject,"posText2"):GetComponent("Text")
self.btnsLayer=Util.GetGameObject(self.gameObject,"skillBtns"):GetComponent("Canvas")
allBtns={}
for i = 1, 6 do
local btn=Util.GetGameObject(self.gameObject,"skillBtns/sBg"..i)
btn.gameObject:SetActive(false)
table.insert(allBtns,btn)
end
end
@ -58,11 +69,12 @@ end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function HandBookRoleInfoLayout:OnShow(sortingOrder,parent,_heroConFigData,_curStar)
self.gameObject:SetActive(true)
end
function HandBookRoleInfoLayout:SetData(sortingOrder,parent,_heroConFigData,_curStar,_lv)
self.sortingOrder = sortingOrder
orginLayer=self.sortingOrder+2
self.btnsLayer.sortingOrder=orginLayer
heroConFigData = _heroConFigData
if _curStar and _curStar > 5 then
self:OnShowHeroData(2,_curStar,_lv)
@ -72,6 +84,9 @@ function HandBookRoleInfoLayout:SetData(sortingOrder,parent,_heroConFigData,_cur
end
local CurrOpenPanel=nil
local currPanelName=0
--展示英雄信息 第一个参数 1初始 2 6星和10星 第三个参数 显示星级
function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
local lv=0
@ -115,12 +130,16 @@ function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
for i = 1, self.skillGrid.transform.childCount do
self.skillGrid.transform:GetChild(i-1).gameObject:SetActive(false)
end
for i = 1, 6 do
allBtns[i].gameObject:SetActive(false)
end
local len=#skillList
local btnCount=len
if heroConFigData.OpenPassiveSkillRules then
btnCount=btnCount+1
local passObj=Util.GetGameObject(self.skillGrid,"sBg"..len+1)--self.skillGrid.transform:GetChild(len).gameObject
passObj:SetActive(true)
allBtns[len+1].gameObject:SetActive(true)
Util.GetGameObject(passObj,"s"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetTianFuIcon(star))
local aaa=5
if star>9 then
@ -130,37 +149,46 @@ function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
aaa=star-4
end
end
local bg=Util.GetGameObject(passObj,"Image"):GetComponent("Image")
if star>=11 then
bg.sprite=this.spLoader:LoadSprite("r_hero_jinengfeisheng")
else
bg.sprite=this.spLoader:LoadSprite("r_hero_jinengmoren")
end
Util.GetGameObject(passObj,"SkillTypeImage"):GetComponent("Image").sprite=this.spLoader:LoadSprite(SkillIconType[aaa])
Util.GetGameObject(passObj,"SkillTypeImage"):GetComponent("Image"):SetNativeSize()
local OpenPassiveSkillRules = star >= HeroManager.awakeNextStarIndex and heroConFigData.Awaken or heroConFigData.OpenPassiveSkillRules
local openlists,compoundOpenNum,compoundNum = HeroManager.GetAllPassiveSkillIds(heroConFigData,breakId,upStarId)
Util.GetGameObject(passObj,"Text"):GetComponent("Text").text = #openlists - compoundOpenNum .."/"..#OpenPassiveSkillRules - compoundNum
Util.AddOnceClick(Util.GetGameObject(passObj,"s"),function()
UIManager.ClosePanel(UIName.SkillInfoPopup)
Util.AddOnceClick(allBtns[len+1],function()
UIManager.ClosePanel(currPanelName)
if star==11 then
UIManager.OpenPanel(UIName.RoleAwakeTalentPopup,heroConFigData)
CurrOpenPanel=UIManager.OpenPanel(UIName.RoleAwakeTalentPopup,heroConFigData)
currPanelName=UIName.RoleAwakeTalentPopup
else
UIManager.OpenPanel(UIName.RoleTalentPopup,heroConFigData,breakId,upStarId)
CurrOpenPanel=UIManager.OpenPanel(UIName.RoleTalentPopup,heroConFigData,breakId,upStarId)
currPanelName=UIName.RoleTalentPopup
end
self.selsectSkillImage:SetActive(true)
self.selsectSkillImage.transform.position=Util.GetGameObject(self.skillGrid,"sBg"..len+1 .."/s").transform.position
self.selsectSkillImage.transform:SetParent(Util.GetGameObject(self.skillGrid,"sBg"..len+1 .."/s").transform)
self:SetBtnsLayer()
end)
end
if heroConFigData.IsSoulOpen == 1 and star > 10 then
btnCount=btnCount+1
local passObj=Util.GetGameObject(self.skillGrid,"sBg"..len+2)--self.skillGrid.transform:GetChild(len+1).gameObject
passObj:SetActive(true)
allBtns[len+2].gameObject:SetActive(true)
Util.GetGameObject(passObj,"s"):GetComponent("Image").sprite=this.spLoader:LoadSprite("r_tongyong_shenhun_icon")
Util.GetGameObject(passObj,"s/Text"):SetActive(false)
Util.GetGameObject(passObj,"SkillTypeImage"):GetComponent("Image").sprite=this.spLoader:LoadSprite(SkillIconType[9])
Util.GetGameObject(passObj,"SkillTypeImage"):GetComponent("Image"):SetNativeSize()
Util.AddOnceClick(Util.GetGameObject(passObj,"s"),function()
UIManager.ClosePanel(UIName.SkillInfoPopup)
UIManager.OpenPanel(UIName.RoleGodSoulLayout,heroConFigData,star)
Util.AddOnceClick(allBtns[len+2],function()
UIManager.ClosePanel(currPanelName)
CurrOpenPanel=UIManager.OpenPanel(UIName.RoleGodSoulLayout,heroConFigData,star)
self.selsectSkillImage:SetActive(true)
self.selsectSkillImage.transform.position=Util.GetGameObject(self.skillGrid,"sBg"..len+2 .."/s").transform.position
self.selsectSkillImage.transform:SetParent(Util.GetGameObject(self.skillGrid,"sBg"..len+2 .."/s").transform)
currPanelName=UIName.RoleGodSoulLayout
self:SetBtnsLayer()
end)
end
@ -169,16 +197,12 @@ function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
if skillList[i] and skillList[i].skillConfig then
local go = Util.GetGameObject(self.skillGrid,"sBg"..i) --self.skillGrid.transform:GetChild(i-1).gameObject
go:SetActive(true)
allBtns[i].gameObject:SetActive(true)
local line=Util.GetGameObject(go.transform,"line")
line:SetActive(false)
local bg=Util.GetGameObject(go.transform,"Image"):GetComponent("Image")
Util.GetGameObject(go.transform,"s"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(skillList[i].skillConfig.Icon))
-- if GetCurLanguage() ~= 0 and LengthString(GetLanguageStrById(skillList[i].skillConfig.Name)) > 10 then
-- Util.GetGameObject(go.transform,"s/Text"):GetComponent("Text").text = SubString(GetLanguageStrById(skillList[i].skillConfig.Name),10).."..."
-- else
-- Util.GetGameObject(go.transform,"s/Text"):GetComponent("Text").text=GetLanguageStrById(skillList[i].skillConfig.Name)--Language[10453].. 1(skillList[i].skillConfig.Id % 10)
-- end
Util.GetGameObject(go.transform,"s/Text"):SetActive(false)
local index=i
if index==3 then
@ -201,10 +225,7 @@ function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
else
di.gameObject:SetActive(false)
end
Util.AddOnceClick(Util.GetGameObject(go.transform,"s"), function()
self.selsectSkillImage:SetActive(true)
self.selsectSkillImage.transform.position=Util.GetGameObject(go.transform,"s").transform.position
Util.AddOnceClick(allBtns[i], function()
local skillData = {}
skillData.skillConfig = skillList[i].skillConfig
local maxLv= HeroManager.GetHeroSkillMaxLevel(heroConFigData.Id,skillData.skillConfig.Type)
@ -213,41 +234,67 @@ function HandBookRoleInfoLayout:OnShowHeroData(_starType,star,_lv)
if Game.GlobalEvent:HasEvent(GameEvent.UI.OnClose, triggerCallBack) then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, triggerCallBack)
end
-- if currPanelName~= UIName.SkillInfoPopup then
UIManager.ClosePanel(currPanelName)
-- end
self.selsectSkillImage.transform.position=Util.GetGameObject(go.transform,"s").transform.position
self.selsectSkillImage.transform:SetParent(Util.GetGameObject(go.transform,"s").transform)
local panel = UIManager.OpenPanel(UIName.SkillInfoPopup,skillData,1,10,maxLv,i)
self.skillGrid:GetComponent("Canvas").sortingOrder = panel.sortingOrder + 1
triggerCallBack = function (panelType, p)
if panelType == UIName.SkillInfoPopup and panel == p then --监听到SkillInfoPopup关闭把层级设回去
self.skillGrid:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, triggerCallBack)
self.selsectSkillImage:SetActive(false)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, triggerCallBack)
self.selsectSkillImage:SetActive(true)
CurrOpenPanel=panel
currPanelName=UIName.SkillInfoPopup
self:SetBtnsLayer()
--self.skillGrid:GetComponent("Canvas").sortingOrder = panel.sortingOrder + 1
else
UIManager.ClosePanel(UIName.SkillInfoPopup)
UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,1)
UIManager.ClosePanel(currPanelName)
currPanelName=UIName.TalismanInfoPopup
CurrOpenPanel=UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,1)
self.selsectSkillImage.transform.position=Util.GetGameObject(go.transform,"s").transform.position
self.selsectSkillImage.transform:SetParent(Util.GetGameObject(go.transform,"s").transform)
self.selsectSkillImage:SetActive(true)
self:SetBtnsLayer()
end
end)
triggerCallBack = function (panelType, p)
if panelType == UIName.SkillInfoPopup or panelType==currPanelName then --监听到SkillInfoPopup关闭把层级设回去
--self.skillGrid:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
self.btnsLayer.sortingOrder=orginLayer+2
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, triggerCallBack)
--self.selsectSkillImage:SetActive(false)
end
end
self:SetBtnsLayer()
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, triggerCallBack)
end
end
if btnCount>2 then
self.line1:SetActive(true)
self.line3:SetActive(true)
else
self.line1:SetActive(false)
self.line3:SetActive(false)
end
if btnCount>4 then
self.line2:SetActive(true)
self.line4:SetActive(true)
else
self.line2:SetActive(false)
self.line4:SetActive(false)
end
Util.AddClick(self.posBtn, function()
UIManager.OpenPanel(UIName.RolePosInfoPopup,heroConFigData,star)
end)
end
function HandBookRoleInfoLayout:SetBtnsLayer()
if CurrOpenPanel then
self.btnsLayer.sortingOrder=CurrOpenPanel.sortingOrder + 1
end
end
--计算英雄属性 1 初始 2 指定星级 _starNum星级变化
function HandBookRoleInfoLayout:CalculateHeroAllProValList(_starType,_starNum,curLvNum)