488 lines
24 KiB
Lua
488 lines
24 KiB
Lua
require("Base/BasePanel")
|
||
HandBookRoleInfoLayout = Inherit(BasePanel)
|
||
local this = HandBookRoleInfoLayout
|
||
local heroConFigData
|
||
|
||
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)
|
||
local b = {}
|
||
b.gameObject = gameObject
|
||
b.transform = gameObject.transform
|
||
setmetatable(b, { __index = HandBookRoleInfoLayout })
|
||
return b
|
||
end
|
||
|
||
function HandBookRoleInfoLayout:InitComponent()
|
||
this.spLoader = SpriteLoader.New()
|
||
--LogGreen("self.gameObject:"..tostring(self.gameObject))
|
||
--详情
|
||
Util.GetGameObject(self.gameObject, "pro/atk/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig
|
||
[2].Info)
|
||
Util.GetGameObject(self.gameObject, "pro/hp/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig
|
||
[1].Info)
|
||
Util.GetGameObject(self.gameObject, "pro/phyDef/proName"):GetComponent("Text").text = GetLanguageStrById(
|
||
propertyConfig[3].Info)
|
||
Util.GetGameObject(self.gameObject, "pro/magDef/proName"):GetComponent("Text").text = GetLanguageStrById(
|
||
propertyConfig[4].Info)
|
||
|
||
self.atkPro = Util.GetGameObject(self.gameObject, "pro/atk/proValue"):GetComponent("Text")
|
||
self.hpPro = Util.GetGameObject(self.gameObject, "pro/hp/proValue"):GetComponent("Text")
|
||
self.phyDef = Util.GetGameObject(self.gameObject, "pro/phyDef/proValue"):GetComponent("Text")
|
||
self.magDef = Util.GetGameObject(self.gameObject, "pro/magDef/proValue"):GetComponent("Text")
|
||
self.allProButton = Util.GetGameObject(self.gameObject, "allProButton")
|
||
|
||
self.skillGrid = Util.GetGameObject(self.gameObject, "skill")
|
||
self.skillGrid2 = Util.GetGameObject(self.gameObject, "skill2")
|
||
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")
|
||
self.posTxt = Util.GetGameObject(self.gameObject, "dingwei/posText"):GetComponent("Text")
|
||
self.lvTxt = Util.GetGameObject(self.gameObject, "lvObj/lvTxt"):GetComponent("Text")
|
||
self.lvObj = Util.GetGameObject(self.gameObject, "lvObj")
|
||
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
|
||
|
||
--绑定事件(用于子类重写)
|
||
function HandBookRoleInfoLayout:BindEvent()
|
||
Util.AddClick(self.allProButton, function()
|
||
UIManager.OpenPanel(UIName.RoleProInfoPopup, allAddProVal, heroConFigData, false, nil)
|
||
end)
|
||
end
|
||
|
||
local curStar
|
||
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||
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
|
||
curStar = _curStar
|
||
if _curStar and _curStar > 5 then
|
||
self:OnShowHeroData(2, _curStar, _lv)
|
||
else
|
||
self:OnShowHeroData(1, heroConFigData.Star, _lv)
|
||
end
|
||
end
|
||
|
||
local CurrOpenPanel = nil
|
||
local currPanelName = 0
|
||
|
||
--展示英雄信息 第一个参数 1初始 2 6星和10星 第三个参数 显示星级
|
||
function HandBookRoleInfoLayout:OnShowHeroData(_starType, star, _lv)
|
||
local lv = 0
|
||
local rankUpConfig = ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.HeroRankupConfig, "Type", 2, "OpenStar",
|
||
star)
|
||
if rankUpConfig then
|
||
lv = rankUpConfig.OpenLevel
|
||
else
|
||
if star == 1 then
|
||
lv = 40
|
||
elseif star == 2 then
|
||
lv = 50
|
||
elseif star == 3 then
|
||
lv = 60
|
||
elseif star == 4 then
|
||
lv = 80
|
||
else
|
||
lv = 1
|
||
end
|
||
end
|
||
--计算面板属性
|
||
allAddProVal = self:CalculateHeroAllProValList(_starType, star, lv)
|
||
self.atkPro.text = allAddProVal[HeroProType.Attack]
|
||
self.hpPro.text = allAddProVal[HeroProType.Hp]
|
||
self.phyDef.text = allAddProVal[HeroProType.PhysicalDefence]
|
||
self.magDef.text = allAddProVal[HeroProType.MagicDefence]
|
||
self.lvTxt.text = " " .. lv
|
||
self.posTxt.text = star >= HeroManager.awakeNextStarIndex and GetLanguageStrById(heroConFigData.HeroLocationDesc4) or
|
||
GetLanguageStrById(heroConFigData.HeroLocationDesc1)
|
||
self.proImg.sprite = this.spLoader:LoadSprite(GetHeroPosStr(heroConFigData.Profession))
|
||
self.proTxt.text = GetLanguageStrById(heroConFigData.HeroLocation)
|
||
--技能点击特殊处理
|
||
self.posTxt.gameObject:SetActive(heroConFigData.ShowHeroLocation == 1)
|
||
self.posBtn.gameObject:SetActive(heroConFigData.ShowHeroLocation == 1)
|
||
LayoutRebuilder.ForceRebuildLayoutImmediate(self.lvObj.transform)
|
||
LayoutRebuilder.ForceRebuildLayoutImmediate(self.posBtn.transform)
|
||
self.selsectSkillImage:SetActive(false)
|
||
self.skillGrid:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
|
||
local triggerCallBack
|
||
local skillList = HeroManager.GetCurHeroSkillDatasAndEquip(heroConFigData.Id, star)
|
||
--local awakeSkillList=HeroManager.GetCurHeroAllAwakeSkillDatas(heroConFigData.Id,star)
|
||
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))
|
||
Util.GetGameObject(passObj, "frame"):SetActive(false)
|
||
local aaa = 5
|
||
if star >= 9 then
|
||
if star >= 11 then
|
||
Util.GetGameObject(passObj, "frame"):SetActive(true)
|
||
aaa = 7
|
||
else
|
||
aaa = star - 3
|
||
end
|
||
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
|
||
OpenPassiveSkillRules = GetPassiveByMaxStar(heroConFigData, OpenPassiveSkillRules)
|
||
local openlists, compoundOpenNum, compoundNum = HeroManager.GetAllPassiveSkillIds(heroConFigData, breakId,
|
||
upStarId)
|
||
if star == 11 then
|
||
Util.GetGameObject(passObj, "Text"):GetComponent("Text").text = #openlists - compoundOpenNum .. "/" .. 10
|
||
else
|
||
Util.GetGameObject(passObj, "Text"):GetComponent("Text").text = #openlists - compoundOpenNum ..
|
||
"/" .. #OpenPassiveSkillRules - compoundNum
|
||
end
|
||
Util.AddOnceClick(allBtns[len + 1], function()
|
||
UIManager.ClosePanel(currPanelName)
|
||
if star == 11 then
|
||
CurrOpenPanel = UIManager.OpenPanel(UIName.RoleAwakeTalentPopup, heroConFigData)
|
||
currPanelName = UIName.RoleAwakeTalentPopup
|
||
else
|
||
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 ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.shenhun) and 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(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
|
||
|
||
for i = 1, len do
|
||
--and GetLanguageStrById(skillList[i].skillConfig.Name)
|
||
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, "frame"):SetActive(false)
|
||
Util.GetGameObject(go.transform, "s"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||
GetResourcePath(skillList[i].skillConfig.Icon))
|
||
Util.GetGameObject(go.transform, "s/Text"):SetActive(false)
|
||
local index = i
|
||
if index == 3 then
|
||
Util.GetGameObject(go.transform, "SkillTypeImage"):GetComponent("Image").sprite = this.spLoader
|
||
:LoadSprite(SkillIconType[4])
|
||
else
|
||
Util.GetGameObject(go.transform, "SkillTypeImage"):GetComponent("Image").sprite = this.spLoader
|
||
:LoadSprite(GetSkillType(skillList[i]))
|
||
end
|
||
Util.GetGameObject(go.transform, "SkillTypeImage"):GetComponent("Image"):SetNativeSize()
|
||
local di = Util.GetGameObject(go.transform, "pro"):GetComponent("Image")
|
||
local diTxt = Util.GetGameObject(go.transform, "pro/Text"):GetComponent("Text")
|
||
if skillList[i].skillConfig.Skilltips and skillList[i].skillConfig.Skilltips > 0 then
|
||
if skillList[i].skillConfig.Skilltips == 6 then
|
||
di.sprite = this.spLoader:LoadSprite("r_hero_lvdi") --被动技
|
||
else
|
||
di.sprite = this.spLoader:LoadSprite("r_hero_hongdi") --被动技
|
||
end
|
||
di.gameObject:SetActive(true)
|
||
di:SetNativeSize()
|
||
diTxt.text = SkillProType[skillList[i].skillConfig.Skilltips]
|
||
else
|
||
di.gameObject:SetActive(false)
|
||
end
|
||
Util.AddOnceClick(allBtns[i], function()
|
||
local skillData = {}
|
||
skillData.skillConfig = skillList[i].skillConfig
|
||
local maxLv = HeroManager.GetHeroSkillMaxLevel(heroConFigData.Id, skillData.skillConfig.Type)
|
||
|
||
if index ~= 3 then
|
||
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.selsectSkillImage:SetActive(true)
|
||
CurrOpenPanel = panel
|
||
currPanelName = UIName.SkillInfoPopup
|
||
self:SetBtnsLayer()
|
||
--self.skillGrid:GetComponent("Canvas").sortingOrder = panel.sortingOrder + 1
|
||
else
|
||
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)
|
||
self:SkillInfo()
|
||
end
|
||
|
||
function HandBookRoleInfoLayout:SetBtnsLayer()
|
||
if CurrOpenPanel then
|
||
self.btnsLayer.sortingOrder = CurrOpenPanel.sortingOrder + 1
|
||
end
|
||
end
|
||
|
||
--计算英雄属性 1 初始 2 指定星级 _starNum星级变化
|
||
function HandBookRoleInfoLayout:CalculateHeroAllProValList(_starType, _starNum, curLvNum)
|
||
local allAddProVal = {}
|
||
for i, v in ConfigPairs(propertyConfig) do
|
||
allAddProVal[i] = 0
|
||
end
|
||
breakId = 0
|
||
upStarId = 0
|
||
if _starType == 2 then
|
||
--等级
|
||
--解锁天赋
|
||
for i, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.HeroRankupConfig)) do
|
||
if v.OpenStar == _starNum and v.Star == heroConFigData.Star then
|
||
if v.Type == 1 then
|
||
breakId = v.Id
|
||
end
|
||
if v.Type == 2 then
|
||
upStarId = v.Id
|
||
end
|
||
end
|
||
end
|
||
if breakId == 0 then
|
||
breakId = 6
|
||
end
|
||
end
|
||
|
||
|
||
local allOpenPassiveSkillIds = HeroManager.GetAllPassiveSkillIds(heroConFigData, breakId, upStarId)
|
||
--单体加成 --单体等级限制加成 --团体加成 --减乘
|
||
local singleHeroProVal, lvProVal, allHeroProVal, specialProVal =
|
||
HeroManager.CalculatePassiveSkillsValList(WarPowerType.Hero, allOpenPassiveSkillIds)
|
||
|
||
HeroManager.DoubleTableCompound(allAddProVal, singleHeroProVal)
|
||
HeroManager.DoubleTableCompound(allAddProVal, lvProVal)
|
||
HeroManager.DoubleTableCompound(allAddProVal, allHeroProVal)
|
||
for k, v in pairs(allAddProVal) do
|
||
allAddProVal[k] = allAddProVal[k] / 100
|
||
end
|
||
allAddProVal[HeroProType.Attack] = HeroManager.CalculateProVal(heroConFigData.Attack, curLvNum, breakId, upStarId,
|
||
HeroProType.Attack) + allAddProVal[HeroProType.Attack]
|
||
allAddProVal[HeroProType.Hp] = HeroManager.CalculateProVal(heroConFigData.Hp, curLvNum, breakId, upStarId,
|
||
HeroProType.Hp) + allAddProVal[HeroProType.Hp]
|
||
allAddProVal[HeroProType.PhysicalDefence] = HeroManager.CalculateProVal(heroConFigData.PhysicalDefence, curLvNum,
|
||
breakId, upStarId, HeroProType.PhysicalDefence) + allAddProVal[HeroProType.PhysicalDefence]
|
||
allAddProVal[HeroProType.MagicDefence] = HeroManager.CalculateProVal(heroConFigData.MagicDefence, curLvNum, breakId,
|
||
upStarId, HeroProType.MagicDefence) + allAddProVal[HeroProType.MagicDefence]
|
||
--allAddProVal[HeroProType.Speed]= math.floor(((curSpeedFormulaData[1] * math.pow(breakId, 3) + curSpeedFormulaData[2] * math.pow(breakId, 2) + curSpeedFormulaData[3] * breakId + curSpeedFormulaData[4]) + heroConFigData.Speed * speedNum))
|
||
--for i = 1, #heroConFigData.SecondaryFactor do
|
||
-- local proId = heroConFigData.SecondaryFactor[i][1]
|
||
-- if propertyConfig[proId].Style ==2 then
|
||
-- allAddProVal[heroConFigData.SecondaryFactor[i][1]] = heroConFigData.SecondaryFactor[i][2]/10000
|
||
-- else
|
||
-- allAddProVal[heroConFigData.SecondaryFactor[i][1]] = heroConFigData.SecondaryFactor[i][2]
|
||
-- end
|
||
--end
|
||
|
||
|
||
|
||
for key, value in pairs(allAddProVal) do
|
||
allAddProVal[key] = math.floor(value)
|
||
end
|
||
return allAddProVal
|
||
end
|
||
|
||
function HandBookRoleInfoLayout:OnHide()
|
||
self.gameObject:SetActive(false)
|
||
end
|
||
|
||
function HandBookRoleInfoLayout:SkillInfo()
|
||
self.skillGrid2:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
|
||
local skillList = HeroManager.GetCurHeroSidAndCurStarAllSkillDatas2(heroConFigData.Id, heroConFigData.MaxRank)
|
||
local skillList2
|
||
local maxStar = heroConFigData.MaxRank
|
||
if maxStar > 9 then
|
||
skillList2 = HeroManager.GetCurHeroSidAndCurStarAllSkillDatas2(heroConFigData.Id, 10)
|
||
else
|
||
|
||
end
|
||
for i = 1, self.skillGrid2.transform.childCount do
|
||
self.skillGrid2.transform:GetChild(i - 1).gameObject:SetActive(false)
|
||
end
|
||
for i = 1, #skillList do
|
||
if skillList[i] and skillList[i].skillConfig and GetLanguageStrById(skillList[i].skillConfig.Name) then
|
||
local go = self.skillGrid2.transform:GetChild(i - 1).gameObject
|
||
go:SetActive(true)
|
||
Util.GetGameObject(go.transform, "s"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||
GetResourcePath(skillList[i].skillConfig.Icon))
|
||
|
||
local typeImg = Util.GetGameObject(go.transform, "SkillTypeImage")
|
||
typeImg:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetSkillType(skillList[i]))
|
||
local sText = Util.GetGameObject(go.transform, "s/Text"):GetComponent("Text")
|
||
sText.text = GetLanguageStrById(skillList[i].skillConfig.Name)
|
||
sText.fontSize = GetCurLanguage() ~= 2 and 30 or 25
|
||
Util.SetGray(go, skillList[i].isOpen)
|
||
if skillList[i].isOpen then
|
||
LogError("skillList[i].needStar==" .. skillList[i].needStar)
|
||
if skillList[i].needStar == 13 then
|
||
sText.text = Language[11536]
|
||
else
|
||
sText.text = NumToSimplenessFont[skillList[i].needStar] .. Language[10648]
|
||
end
|
||
end
|
||
local pro = Util.GetGameObject(go.transform, "pro")
|
||
local proText = Util.GetGameObject(go.transform, "pro/Text"):GetComponent("Text")
|
||
if skillList[i].skillConfig.Skilltips and skillList[i].skillConfig.Skilltips ~= 0 then
|
||
pro:SetActive(true)
|
||
LogError("skillList[i].skillConfig.Skilltips=" .. skillList[i].skillConfig.Skilltips)
|
||
proText.text = SkillProType[skillList[i].skillConfig.Skilltips]
|
||
else
|
||
pro:SetActive(false)
|
||
end
|
||
|
||
Util.AddOnceClick(Util.GetGameObject(go.transform, "s"), function()
|
||
if Game.GlobalEvent:HasEvent(GameEvent.UI.OnClose, triggerCallBack) then
|
||
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, triggerCallBack)
|
||
end
|
||
self.selsectSkillImage:SetActive(true)
|
||
self.selsectSkillImage.transform.position = Util.GetGameObject(go.transform, "s").transform.position
|
||
local skillData = {}
|
||
skillData.skillConfig = skillList[i].skillConfig
|
||
skillData.isOpen = skillList[i].isOpen
|
||
skillData.needStar = skillList[i].needStar
|
||
local nextData = nil
|
||
-- if curStar<11 and i>2 then
|
||
-- nextData=skillList2[i]
|
||
-- end
|
||
local maxLv = HeroManager.GetHeroSkillMaxLevel(heroConFigData.Id, skillData.skillConfig.Type)
|
||
--local panel = UIManager.OpenPanel(UIName.SkillInfoPopup,skillData,1,10,maxLv,i,nextData)
|
||
if skillList2 and skillList2[i] and i > 2 then
|
||
nextData = skillList2[i]
|
||
nextData.isOpen = skillList2[i].isOpen
|
||
nextData.needStar = skillList2[i].needStar
|
||
--飞升技能
|
||
if i == 6 then
|
||
panel = UIManager.OpenPanel(UIName.SkillInfoPopup, skillData, 1, 10, maxLv, i)
|
||
else
|
||
local training = HeroManager.GetTrainingPasivvSkill(nextData.needStar, heroConFigData.Id)
|
||
panel = UIManager.OpenPanel(UIName.SkillInfoPopup, nextData, 1, 10, maxLv, i, skillData, nil, nil,
|
||
training)
|
||
end
|
||
else
|
||
panel = UIManager.OpenPanel(UIName.SkillInfoPopup, skillData, 1, 10, maxLv, i)
|
||
end
|
||
self.skillGrid2:GetComponent("Canvas").sortingOrder = panel.sortingOrder + 1
|
||
triggerCallBack = function(panelType, p)
|
||
if panelType == UIName.SkillInfoPopup and panel == p then --监听到SkillInfoPopup关闭,把层级设回去
|
||
self.skillGrid2: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)
|
||
end)
|
||
end
|
||
end
|
||
end
|
||
|
||
--界面关闭时调用(用于子类重写)
|
||
function HandBookRoleInfoLayout:OnClose()
|
||
|
||
end
|
||
|
||
--界面销毁时调用(用于子类重写)
|
||
function HandBookRoleInfoLayout:OnDestroy()
|
||
this.spLoader:Destroy()
|
||
end
|
||
|
||
return HandBookRoleInfoLayout
|