parent
39144c20c6
commit
5740120f53
File diff suppressed because it is too large
Load Diff
|
@ -5213,7 +5213,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199793888397422328
|
--- !u!199 &199793888397422328
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -10421,7 +10421,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199786334729933541
|
--- !u!199 &199786334729933541
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -15340,7 +15340,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199812891778826125
|
--- !u!199 &199812891778826125
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -20115,7 +20115,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199314592830468766
|
--- !u!199 &199314592830468766
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -24925,7 +24925,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199738970247411175
|
--- !u!199 &199738970247411175
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -30400,7 +30400,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199312732024159113
|
--- !u!199 &199312732024159113
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -30965,7 +30965,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 125.3, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 100.75}
|
m_SizeDelta: {x: 0, y: 100.75}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &222314792653266900
|
--- !u!222 &222314792653266900
|
||||||
|
@ -36463,7 +36463,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199309040906483979
|
--- !u!199 &199309040906483979
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -41219,7 +41219,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199592651100025897
|
--- !u!199 &199592651100025897
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -46256,7 +46256,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199310039250832541
|
--- !u!199 &199310039250832541
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -51012,7 +51012,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199031629276305175
|
--- !u!199 &199031629276305175
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
@ -55886,7 +55886,7 @@ ParticleSystem:
|
||||||
--- !u!199 &199224694020007487
|
--- !u!199 &199224694020007487
|
||||||
ParticleSystemRenderer:
|
ParticleSystemRenderer:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_ObjectHideFlags: 2
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|
|
@ -1,26 +1,42 @@
|
||||||
require("Base/BasePanel")
|
require("Base/BasePanel")
|
||||||
HandBookHeroInfoPanel = Inherit(BasePanel)
|
HandBookHeroInfoPanel = Inherit(BasePanel)
|
||||||
local this = HandBookHeroInfoPanel
|
local this = HandBookHeroInfoPanel
|
||||||
|
local RoleInfoLayout = require("Modules/HandBook/HandBookRoleInfoLayout")
|
||||||
|
local RoleStoryLayout = require("Modules/RoleInfo/RoleStoryLayout")
|
||||||
|
local RoleSkinPanel = require("Modules/RoleInfo/HandBookRoleSkinPanel")
|
||||||
|
|
||||||
|
local tabs = {
|
||||||
|
[1] = {default = "r_hero_xuanze_002", lock = "r_hero_xuanze_002", select = "r_hero_xuanze_001",title = Language[11093]
|
||||||
|
},
|
||||||
|
[2] = {default = "r_hero_xuanze_002", lock = "r_hero_xuanze_002", select = "r_hero_xuanze_001",title = Language[11095]
|
||||||
|
},
|
||||||
|
[3] = {default = "r_hero_xuanze_002", lock = "r_hero_xuanze_002", select = "r_hero_xuanze_001",title = Language[11816]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local index = {1,2,3,4,5,6,9,10,11}
|
||||||
|
|
||||||
local heroConFigData
|
local heroConFigData
|
||||||
local leftHeroData
|
local leftHeroData
|
||||||
local rightHeroData
|
local rightHeroData
|
||||||
|
|
||||||
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
||||||
local heroLevelConfig = ConfigManager.GetConfig(ConfigName.HeroLevelConfig)
|
local heroLevelConfig = ConfigManager.GetConfig(ConfigName.HeroLevelConfig)
|
||||||
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
|
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||||||
local allAddProVal = {}
|
|
||||||
local isClickLeftOrRightBtn = true
|
local isClickLeftOrRightBtn = true
|
||||||
local index=0
|
local index=0
|
||||||
local leftIndex=0
|
local leftIndex=0
|
||||||
local rightIndex=0
|
local rightIndex=0
|
||||||
local starType = 1
|
|
||||||
local type = 1
|
|
||||||
local _leftStar=0
|
local _leftStar=0
|
||||||
local _curStar=0
|
local _curStar=0
|
||||||
local _rightStar=0
|
local _rightStar=0
|
||||||
local breakId,upStarId
|
|
||||||
|
local tabsList = {}
|
||||||
|
local _CurPageIndex = 1
|
||||||
--初始化组件(用于子类重写)
|
--初始化组件(用于子类重写)
|
||||||
function HandBookHeroInfoPanel:InitComponent()
|
function HandBookHeroInfoPanel:InitComponent()
|
||||||
|
|
||||||
self.btnBack = Util.GetGameObject(self.transform, "btnBack")
|
self.btnBack = Util.GetGameObject(self.transform, "btnBack")
|
||||||
this.bgImageList = {}
|
this.bgImageList = {}
|
||||||
for i = 1, 4 do
|
for i = 1, 4 do
|
||||||
|
@ -29,10 +45,10 @@ function HandBookHeroInfoPanel:InitComponent()
|
||||||
self.curObj= Util.GetGameObject(self.transform, "curObj")
|
self.curObj= Util.GetGameObject(self.transform, "curObj")
|
||||||
self.leftObj= Util.GetGameObject(self.transform, "leftObj")
|
self.leftObj= Util.GetGameObject(self.transform, "leftObj")
|
||||||
self.rightObj= Util.GetGameObject(self.transform, "rightObj")
|
self.rightObj= Util.GetGameObject(self.transform, "rightObj")
|
||||||
|
|
||||||
self.leftBtn = Util.GetGameObject(self.transform, "leftBtn/GameObject")
|
self.leftBtn = Util.GetGameObject(self.transform, "leftBtn/GameObject")
|
||||||
self.rightBtn = Util.GetGameObject(self.transform, "rightBtn/GameObject")
|
self.rightBtn = Util.GetGameObject(self.transform, "rightBtn/GameObject")
|
||||||
|
|
||||||
|
|
||||||
self.dragView = SubUIManager.Open(SubUIConfig.DragView, self.gameObject.transform)
|
self.dragView = SubUIManager.Open(SubUIConfig.DragView, self.gameObject.transform)
|
||||||
self.dragView.transform:SetSiblingIndex(1)
|
self.dragView.transform:SetSiblingIndex(1)
|
||||||
|
|
||||||
|
@ -44,88 +60,31 @@ function HandBookHeroInfoPanel:InitComponent()
|
||||||
self.posBgImage=Util.GetGameObject(self.transform,"pos"):GetComponent("Image")
|
self.posBgImage=Util.GetGameObject(self.transform,"pos"):GetComponent("Image")
|
||||||
self.posImage=Util.GetGameObject(self.transform,"pos/posImage"):GetComponent("Image")
|
self.posImage=Util.GetGameObject(self.transform,"pos/posImage"):GetComponent("Image")
|
||||||
self.posText=Util.GetGameObject(self.transform,"pos/posText"):GetComponent("Text")
|
self.posText=Util.GetGameObject(self.transform,"pos/posText"):GetComponent("Text")
|
||||||
--详情
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/pro/atk/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[2].Info)
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/pro/hp/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[1].Info)
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/pro/phyDef/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[3].Info)
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/pro/magDef/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[4].Info)
|
|
||||||
-- Util.GetGameObject(self.transform,"roleInfoLayout/pro/speed/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[5].Info)
|
|
||||||
self.atkPro=Util.GetGameObject(self.transform,"roleInfoLayout/pro/atk/proValue"):GetComponent("Text")
|
|
||||||
self.hpPro=Util.GetGameObject(self.transform,"roleInfoLayout/pro/hp/proValue"):GetComponent("Text")
|
|
||||||
self.phyDef=Util.GetGameObject(self.transform,"roleInfoLayout/pro/phyDef/proValue"):GetComponent("Text")
|
|
||||||
self.magDef=Util.GetGameObject(self.transform,"roleInfoLayout/pro/magDef/proValue"):GetComponent("Text")
|
|
||||||
-- self.speed=Util.GetGameObject(self.transform,"roleInfoLayout/pro/speed/proValue"):GetComponent("Text")
|
|
||||||
self.skillGrid=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Skill/skill")
|
|
||||||
self.selsectSkillImage=Util.GetGameObject(self.transform,"roleInfoLayout/selsectSkillImage")
|
|
||||||
self.allProButton=Util.GetGameObject(self.transform,"roleInfoLayout/allProButton")
|
|
||||||
--定位
|
|
||||||
-- self.location=Util.GetGameObject(self.transform,"roleInfoLayout/Location")
|
|
||||||
-- self.infoText=Util.GetGameObject(self.location,"Info"):GetComponent("Text")
|
|
||||||
-- self.radar = Util.GetGameObject(self.location, "ProRadarImage/Radar"):GetComponent("RadarChart")
|
|
||||||
self.skillName=Util.GetGameObject(self.transform,"roleInfoLayout/skillName")
|
|
||||||
self.skillLine=Util.GetGameObject(self.transform,"roleInfoLayout/skillLine")
|
|
||||||
self.talismanBtn=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/TalismanBtn")
|
|
||||||
-- self.talismanFrame=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/TalismanBtn"):GetComponent("Image")
|
|
||||||
self.talismanIcon=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/TalismanBtn/Icon"):GetComponent("Image")
|
|
||||||
-- self.talismanInfo=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/TalismanInfo")
|
|
||||||
|
|
||||||
self.btnStart = Util.GetGameObject(self.transform, "btnList/btnStart")
|
|
||||||
self.btnMaxStar = Util.GetGameObject(self.transform, "btnList/btnMaxStar")
|
|
||||||
self.btnMaxStar.gameObject:SetActive(false)
|
|
||||||
self.btnSkin = Util.GetGameObject(self.transform, "btnList/btnSkin")
|
|
||||||
self.selectBtn = Util.GetGameObject(self.transform, "btnList/selectBtn")
|
|
||||||
|
|
||||||
|
|
||||||
self.roleInfoLayout = Util.GetGameObject(self.transform,"roleInfoLayout")
|
|
||||||
self.roleStoryLayout = Util.GetGameObject(self.transform,"roleStoryLayout")
|
|
||||||
--传记
|
|
||||||
self.btnStory = Util.GetGameObject(self.transform, "btnList/btnStory")
|
|
||||||
self.infoTextStory = Util.GetGameObject(self.transform,"roleStoryLayout/infoBg/infoRect/infoText"):GetComponent("Text")
|
|
||||||
|
|
||||||
|
self.PageList = {
|
||||||
|
[1] = RoleInfoLayout:InitComponent(Util.GetGameObject(self.transform, "roleInfoLayout")),
|
||||||
|
[2] = RoleStoryLayout:InitComponent(Util.GetGameObject(self.transform, "roleStoryLayout")),
|
||||||
|
[3] = RoleSkinPanel:InitComponent(Util.GetGameObject(self.transform, "roleSkinLayout")),
|
||||||
|
}
|
||||||
|
|
||||||
this.trigger=Util.GetEventTriggerListener(self.dragView.gameObject)
|
this.trigger=Util.GetEventTriggerListener(self.dragView.gameObject)
|
||||||
this.trigger.onBeginDrag = this.trigger.onBeginDrag + this.OnBeginDrag
|
this.trigger.onBeginDrag = this.trigger.onBeginDrag + this.OnBeginDrag
|
||||||
this.trigger.onDrag = this.trigger.onDrag + this.OnDrag
|
this.trigger.onDrag = this.trigger.onDrag + this.OnDrag
|
||||||
this.trigger.onEndDrag = this.trigger.onEndDrag + this.OnEndDrag
|
this.trigger.onEndDrag = this.trigger.onEndDrag + this.OnEndDrag
|
||||||
|
|
||||||
this.talentBtn=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/talentBtn")
|
|
||||||
this.talentProgress=Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Other/talentBtn/progress"):GetComponent("Text")
|
|
||||||
|
|
||||||
this.posBtn=Util.GetGameObject(self.gameObject,"posBtn")--定位按钮
|
this.posBtn=Util.GetGameObject(self.gameObject,"posBtn")--定位按钮
|
||||||
|
|
||||||
|
this.btnList = Util.GetGameObject(self.transform,"btnList")
|
||||||
|
this.btnPre = Util.GetGameObject(self.transform,"btnInfo")
|
||||||
|
this.select = Util.GetGameObject(self.transform, "selectBtn")
|
||||||
end
|
end
|
||||||
|
|
||||||
--绑定事件(用于子类重写)
|
--绑定事件(用于子类重写)
|
||||||
function HandBookHeroInfoPanel:BindEvent()
|
function HandBookHeroInfoPanel:BindEvent()
|
||||||
|
|
||||||
Util.AddClick(self.btnBack, function()
|
Util.AddClick(self.btnBack, function()
|
||||||
self:ClosePanel()
|
self:ClosePanel()
|
||||||
end)
|
end)
|
||||||
Util.AddClick(self.allProButton, function()
|
|
||||||
UIManager.OpenPanel(UIName.RoleProInfoPopup,allAddProVal,heroConFigData,false)
|
|
||||||
end)
|
|
||||||
Util.AddClick(self.btnStart, function()
|
|
||||||
self:SetSelectBtn(self.btnStart, Language[11093])
|
|
||||||
if _curStar and _curStar>5 then
|
|
||||||
self:OnShowHeroData(1,2,_curStar)
|
|
||||||
else
|
|
||||||
self:OnShowHeroData(1,1,heroConFigData.Star)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
Util.AddClick(self.btnMaxStar, function()
|
|
||||||
self:SetSelectBtn(self.btnMaxStar, Language[11094])
|
|
||||||
if heroConFigData.RankupConsumeMaterial and #heroConFigData.RankupConsumeMaterial > 0 then
|
|
||||||
self:OnShowHeroData(1,2,heroConFigData.RankupConsumeMaterial[#heroConFigData.RankupConsumeMaterial][1])
|
|
||||||
else
|
|
||||||
self:OnShowHeroData(1,2,heroConFigData.Star)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
Util.AddClick(self.btnStory, function()
|
|
||||||
self:SetSelectBtn(self.btnStory, Language[11095])
|
|
||||||
self:OnShowHeroData(2,1,heroConFigData.Star)
|
|
||||||
end)
|
|
||||||
Util.AddClick(self.btnSkin, function()
|
|
||||||
PopupTipPanel.ShowTip(Language[11096])
|
|
||||||
end)
|
|
||||||
Util.AddClick(this.leftBtn, function()
|
Util.AddClick(this.leftBtn, function()
|
||||||
self:LeftBtnOnClick()
|
self:LeftBtnOnClick()
|
||||||
end)
|
end)
|
||||||
|
@ -144,166 +103,216 @@ local heroDatas = {}
|
||||||
function HandBookHeroInfoPanel:OnOpen(...)
|
function HandBookHeroInfoPanel:OnOpen(...)
|
||||||
local temp={...}
|
local temp={...}
|
||||||
heroDatas = {}
|
heroDatas = {}
|
||||||
--[[for id, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.HeroConfig)) do
|
|
||||||
if (temp[2]==0 or v.PropertyName == temp[2]) then
|
|
||||||
table.insert(heroDatas,v)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
self:SortHeroNatural(heroDatas)]]
|
|
||||||
heroConFigData = temp[1]
|
heroConFigData = temp[1]
|
||||||
if(temp[3]) then
|
if(temp[3]) then
|
||||||
_curStar=temp[3]
|
_curStar=temp[3]
|
||||||
end
|
end
|
||||||
heroDatas=PlayerManager.heroHandBookListData[_curStar]
|
_CurPageIndex = 1
|
||||||
for n,m in ipairs(heroDatas) do
|
heroDatas = PlayerManager.heroHandBookListData[_curStar]
|
||||||
if heroConFigData.Id==m.Id then
|
for i = 1, #heroDatas do
|
||||||
index=n
|
if heroConFigData.Id == heroDatas[i].Id then
|
||||||
else
|
index = i
|
||||||
index=1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||||||
function HandBookHeroInfoPanel:OnShow()
|
function HandBookHeroInfoPanel:OnShow()
|
||||||
isClickLeftOrRightBtn = true
|
--先清除之前的立绘
|
||||||
for i = 1, #heroDatas do
|
if this.leftLiveObj then
|
||||||
if heroConFigData.Id == heroDatas[i].Id then
|
poolManager:UnLoadLive(this.leftLiveObj.name, this.leftLiveObj)
|
||||||
index = i
|
this.leftLiveObj = nil
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
if this.rightLiveObj then
|
||||||
|
poolManager:UnLoadLive(this.rightLiveObj.name, this.rightLiveObj)
|
||||||
|
this.rightLiveObj = nil
|
||||||
|
end
|
||||||
|
if this.curLiveObj then
|
||||||
|
poolManager:UnLoadLive(this.curLiveObj.name, this.curLiveObj)
|
||||||
|
this.curLiveObj = nil
|
||||||
|
end
|
||||||
|
Util.ClearChild(self.curObj.transform)
|
||||||
|
Util.ClearChild(self.leftObj.transform)
|
||||||
|
Util.ClearChild(self.rightObj.transform)
|
||||||
|
|
||||||
|
self:RefreshHeroLive()
|
||||||
|
end
|
||||||
|
|
||||||
|
--刷新英雄界面信息
|
||||||
|
function HandBookHeroInfoPanel:RefreshHeroLive()
|
||||||
self:UpdateLiveList()
|
self:UpdateLiveList()
|
||||||
this.leftLiveObj = this:LoadHerolive(leftHeroData,self.leftObj)
|
--加载当前英雄的立绘
|
||||||
this.rightLiveObj = this:LoadHerolive(rightHeroData,self.rightObj)
|
this.leftLiveObj = self:LoadHerolive(leftHeroData,self.leftObj)
|
||||||
this.curLiveObj = this:LoadHerolive(heroConFigData,self.curObj)
|
this.rightLiveObj = self:LoadHerolive(rightHeroData,self.rightObj)
|
||||||
|
this.curLiveObj = self:LoadHerolive(heroConFigData,self.curObj)
|
||||||
if _curStar and _curStar > 5 then
|
if this.curLiveObj then
|
||||||
self:OnShowHeroData(1,2,_curStar)
|
self.dragView.gameObject:SetActive(true)
|
||||||
|
self.dragView:SetDragGO(this.curLiveObj)
|
||||||
else
|
else
|
||||||
self:OnShowHeroData(1,1,heroConFigData.Star)
|
self.dragView.gameObject:SetActive(false)
|
||||||
end
|
end
|
||||||
self:SetSelectBtn(self.btnStart, Language[11093])
|
self:UpdateHeroInfoData()
|
||||||
--self.curLiveObj = self:LoadHerolive(heroConFigData,self.curObj)
|
|
||||||
self.dragView:SetDragGO(this.curLiveObj)
|
|
||||||
this.SetPanelBg(heroConFigData)
|
|
||||||
end
|
end
|
||||||
--展示英雄信息 第一个参数1 属性面板 2 故事面板 第二个参数 1初始 2 6星和10星 第三个参数 显示星级
|
|
||||||
function HandBookHeroInfoPanel:OnShowHeroData(_type,_starType,_star)
|
|
||||||
|
|
||||||
self.dragView:SetDragGO(this.curLiveObj)
|
--刷新左右两边的英雄星级和index
|
||||||
|
function HandBookHeroInfoPanel:UpdateLiveList()
|
||||||
type = _type
|
local starIndex = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.RoleAwake) and 11 or 10
|
||||||
self.roleInfoLayout:SetActive( _type == 1)
|
if index - 1 > 0 then
|
||||||
self.roleStoryLayout:SetActive( _type == 2)
|
_leftStar = _curStar
|
||||||
local starSize = Vector2.New(60,60)
|
leftIndex = index - 1
|
||||||
SetHeroStars(self.starGrid, _star,2,starSize,-10,Vector2.New(0.5,0.5))
|
leftHeroData=heroDatas[leftIndex]
|
||||||
self.heroName.text = GetLanguageStrById(heroConFigData.ReadingName)
|
else
|
||||||
self.profession.sprite =Util.LoadSprite(GetProStrImageByProNum(heroConFigData.PropertyName))
|
_leftStar = _curStar + 1
|
||||||
|
while(not PlayerManager.heroHandBookListData[_leftStar] or #PlayerManager.heroHandBookListData[_leftStar] < 1) do
|
||||||
--定位描述相关
|
if _leftStar >= starIndex then
|
||||||
self.posBgImage.sprite=Util.LoadSprite(GetHeroPosBgStr(heroConFigData.Profession))
|
_leftStar = 0
|
||||||
self.posImage.sprite=Util.LoadSprite(GetHeroPosStr(heroConFigData.Profession))
|
|
||||||
self.posText.text=GetLanguageStrById(heroConFigData.HeroLocation)
|
|
||||||
SetTextVerTial(self.posText,Vector3.New(72,0,0))
|
|
||||||
--计算面板属性
|
|
||||||
allAddProVal=self:CalculateHeroAllProValList(_starType,_star)
|
|
||||||
self.atkPro.text=allAddProVal[HeroProType.Attack]
|
|
||||||
self.hpPro.text=allAddProVal[HeroProType.Hp]
|
|
||||||
self.phyDef.text=allAddProVal[HeroProType.PhysicalDefence]
|
|
||||||
self.magDef.text=allAddProVal[HeroProType.MagicDefence]
|
|
||||||
--天赋
|
|
||||||
this.talentBtn:SetActive(heroConFigData.OpenPassiveSkillRules ~= nil)
|
|
||||||
local talentBtnImage = _star == HeroManager.awakeNextStarIndex and "r_hero_tianfu2_zh" or "r_hero_tianfu1_zh"
|
|
||||||
this.talentBtn:GetComponent("Image").sprite = Util.LoadSprite(talentBtnImage)
|
|
||||||
local OpenPassiveSkillRules = _star == HeroManager.awakeNextStarIndex and heroConFigData.Awaken or heroConFigData.OpenPassiveSkillRules
|
|
||||||
if OpenPassiveSkillRules then
|
|
||||||
local openlists,compoundOpenNum,compoundNum = HeroManager.GetAllPassiveSkillIds(heroConFigData,breakId,upStarId)
|
|
||||||
this.talentProgress.text = #openlists - compoundOpenNum .."/"..#OpenPassiveSkillRules - compoundNum
|
|
||||||
end
|
|
||||||
--技能点击特殊处理
|
|
||||||
self.selsectSkillImage:SetActive(false)
|
|
||||||
self.skillGrid:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
|
|
||||||
local triggerCallBack
|
|
||||||
local skillList = HeroManager.GetCurHeroSidAndCurStarAllSkillDatas(heroConFigData.Id,_star)
|
|
||||||
for i = 1, self.skillGrid.transform.childCount do
|
|
||||||
self.skillGrid.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.skillGrid.transform:GetChild(i-1).gameObject
|
|
||||||
go:SetActive(true)
|
|
||||||
Util.GetGameObject(go.transform,"s"):GetComponent("Image").sprite=Util.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
|
end
|
||||||
Util.GetGameObject(go.transform,"SkillTypeImage"):GetComponent("Image").sprite=Util.LoadSprite(GetSkillType(skillList[i]))
|
_leftStar = _leftStar + 1
|
||||||
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
|
|
||||||
local maxLv= HeroManager.GetHeroSkillMaxLevel(heroConFigData.Id,skillData.skillConfig.Type)
|
|
||||||
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)
|
|
||||||
end)
|
|
||||||
end
|
end
|
||||||
|
leftIndex = #PlayerManager.heroHandBookListData[_leftStar]
|
||||||
|
leftHeroData = PlayerManager.heroHandBookListData[_leftStar][leftIndex]
|
||||||
end
|
end
|
||||||
--定位
|
|
||||||
this.posBtn.gameObject:SetActive(heroConFigData.ShowHeroLocation==1)
|
if index + 1 <= #heroDatas then
|
||||||
-- self.infoText.text = heroConFigData.HeroLocation
|
_rightStar = _curStar
|
||||||
-- self.radar:SetEdges({heroConFigData.AttackScale/100,heroConFigData.DefenseScale/100,heroConFigData.AssistScale/100})
|
rightIndex = index + 1
|
||||||
-- self.radar.color = Color.New(238/255,211/255,156/255,102/255)
|
rightHeroData=heroDatas[rightIndex]
|
||||||
-- PlayUIAnim(self.location,function ()
|
|
||||||
--Log("end!!!!!")
|
|
||||||
-- end)
|
|
||||||
--技能 布局变动
|
|
||||||
self.skillLine.gameObject:SetActive(not (heroConFigData.OpenPassiveSkillRules == nil and heroConFigData.EquipTalismana==nil))
|
|
||||||
if heroConFigData.OpenPassiveSkillRules == nil and heroConFigData.EquipTalismana==nil then
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Skill"):GetComponent("LayoutElement").minWidth=500
|
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Skill/skill"):GetComponent("GridLayoutGroup").startAxis=0
|
|
||||||
self.skillName.transform:DOAnchorPos(Vector3.New(442,308,0),0)
|
|
||||||
else
|
else
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Skill"):GetComponent("LayoutElement").minWidth=150
|
_rightStar = _curStar - 1
|
||||||
Util.GetGameObject(self.transform,"roleInfoLayout/Panel/Skill/skill"):GetComponent("GridLayoutGroup").startAxis=1
|
while(not PlayerManager.heroHandBookListData[_rightStar] or #PlayerManager.heroHandBookListData[_rightStar] < 1) do
|
||||||
self.skillName.transform:DOAnchorPos(Vector3.New(274,308,0),0)
|
if _rightStar < 1 then
|
||||||
end
|
_rightStar = starIndex + 1
|
||||||
|
end
|
||||||
--法宝
|
_rightStar = _rightStar - 1
|
||||||
self.talismanBtn.gameObject:SetActive(heroConFigData.EquipTalismana~=nil)
|
|
||||||
-- self.talismanInfo.gameObject:SetActive(heroConFigData.EquipTalismana==nil)
|
|
||||||
if heroConFigData.EquipTalismana~=nil then
|
|
||||||
-- self.talismanFrame.sprite=Util.LoadSprite(TalismanBubble[itemConfig[heroConFigData.EquipTalismana[2]].Quantity])
|
|
||||||
self.talismanIcon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[heroConFigData.EquipTalismana[2]].ResourceID))
|
|
||||||
end
|
|
||||||
|
|
||||||
--法宝
|
|
||||||
Util.AddOnceClick(self.talismanBtn.gameObject,function()
|
|
||||||
if starType==1 then
|
|
||||||
UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,1)
|
|
||||||
elseif starType==2 then
|
|
||||||
UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,75)
|
|
||||||
end
|
end
|
||||||
end)
|
rightIndex = 1
|
||||||
--传记
|
rightHeroData=PlayerManager.heroHandBookListData[_rightStar][rightIndex]
|
||||||
Util.GetGameObject(self.transform,"roleStoryLayout/infoBg/infoRect/infoText"):GetComponent("RectTransform").anchoredPosition = Vector2.New(-2, 0)
|
end
|
||||||
local stroyStr = string.gsub(GetLanguageStrById(heroConFigData.HeroStory),"#","\n")
|
|
||||||
self.infoTextStory.text = string.gsub(stroyStr,"|"," ")--传记
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function HandBookHeroInfoPanel:SetPanelBg(heroData)
|
||||||
|
for i = 1, 4 do
|
||||||
|
if heroData.PropertyName == i then
|
||||||
|
this.bgImageList[i]:SetActive(true)
|
||||||
|
else
|
||||||
|
this.bgImageList[i]:SetActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--刷新页签数据
|
||||||
|
function this:UpdateHeroInfoData()
|
||||||
|
local starSize = Vector2.New(60,60)
|
||||||
|
SetHeroStars(this.starGrid, _curStar,2,starSize,-10,Vector2.New(0.5,0.5))
|
||||||
|
this.heroName.text = GetLanguageStrById(heroConFigData.ReadingName)
|
||||||
|
this.profession.sprite =Util.LoadSprite(GetProStrImageByProNum(heroConFigData.PropertyName))
|
||||||
|
--定位描述相关
|
||||||
|
this.posBgImage.sprite=Util.LoadSprite(GetHeroPosBgStr(heroConFigData.Profession))
|
||||||
|
this.posImage.sprite=Util.LoadSprite(GetHeroPosStr(heroConFigData.Profession))
|
||||||
|
this.posText.text=GetLanguageStrById(heroConFigData.HeroLocation)
|
||||||
|
SetTextVerTial(self.posText,Vector3.New(72,0,0))
|
||||||
|
if _CurPageIndex == 3 then
|
||||||
|
local configs = ConfigManager.GetAllConfigsDataByKey(ConfigName.HeroSkin,"HeroId",heroConFigData.Id)
|
||||||
|
local HeoSkin = {}
|
||||||
|
for i = 1 ,#configs do
|
||||||
|
if not HeoSkin[configs[i].Type] then
|
||||||
|
HeoSkin[configs[i].Type] = configs[i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if LengthOfTable(HeoSkin) < 2 then
|
||||||
|
_CurPageIndex = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self:SetPanelBg(heroConFigData)
|
||||||
|
self:UpdateBtnList()
|
||||||
|
self:SetSelectBtn(_CurPageIndex)
|
||||||
|
self:OnPageTabChange(_CurPageIndex)
|
||||||
|
end
|
||||||
|
|
||||||
|
--加载页签内容
|
||||||
|
function HandBookHeroInfoPanel:UpdateBtnList()
|
||||||
|
if not tabsList then
|
||||||
|
tabsList = {}
|
||||||
|
end
|
||||||
|
for k,v in pairs(tabsList) do
|
||||||
|
tabsList[k].gameObject:SetActive(false)
|
||||||
|
end
|
||||||
|
for k,v in ipairs(tabs) do
|
||||||
|
if not tabsList[k] then
|
||||||
|
tabsList[k] = newObjToParent(this.btnPre,this.btnList)
|
||||||
|
end
|
||||||
|
if k == 3 then
|
||||||
|
local configs = ConfigManager.GetAllConfigsDataByKey(ConfigName.HeroSkin,"HeroId",heroConFigData.Id)
|
||||||
|
local HeoSkin = {}
|
||||||
|
for i = 1 ,#configs do
|
||||||
|
if not HeoSkin[configs[i].Type] then
|
||||||
|
HeoSkin[configs[i].Type] = configs[i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if LengthOfTable(HeoSkin) > 1 then
|
||||||
|
tabsList[k].gameObject:SetActive(true)
|
||||||
|
else
|
||||||
|
tabsList[k].gameObject:SetActive(false)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tabsList[k].gameObject:SetActive(true)
|
||||||
|
end
|
||||||
|
local title = Util.GetGameObject(tabsList[k], "Text"):GetComponent("Text")
|
||||||
|
title.text = GetCurLanguage() == 0 and v.title or "<size=45>"..v.title.."</size>"
|
||||||
|
Util.AddOnceClick(tabsList[k],function()
|
||||||
|
if k == _CurPageIndex then
|
||||||
|
else
|
||||||
|
self:SetSelectBtn(k)
|
||||||
|
self:OnPageTabChange(k)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--页签选中效果设置
|
||||||
|
function HandBookHeroInfoPanel:SetSelectBtn(index)
|
||||||
|
this.select.transform:SetParent(tabsList[index].transform)
|
||||||
|
this.select.transform.localScale = Vector3.one
|
||||||
|
this.select.transform.localPosition=Vector3.zero
|
||||||
|
this.select.transform:SetAsFirstSibling()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- tab改变事件
|
||||||
|
function HandBookHeroInfoPanel:OnPageTabChange(index)
|
||||||
|
self:ChangeCurentHeroSkinLive()
|
||||||
|
_CurPageIndex = index
|
||||||
|
for i = 1, #this.PageList do
|
||||||
|
if this.PageList[i] then
|
||||||
|
this.PageList[i]:OnHide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
this.PageList[index]:OnShow(this.sortingOrder,self,heroConFigData,_curStar)
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookHeroInfoPanel:ChangeCurentHeroSkinLive(herodata)
|
||||||
|
if this.curLiveObj then
|
||||||
|
poolManager:UnLoadLive(this.curLiveObj.name, this.curLiveObj)
|
||||||
|
this.curLiveObj = nil
|
||||||
|
end
|
||||||
|
if herodata then
|
||||||
|
this.curLiveObj=self:LoadHerolive(herodata,this.curObj)
|
||||||
|
else
|
||||||
|
this.curLiveObj=self:LoadHerolive(heroConFigData,this.curObj)
|
||||||
|
end
|
||||||
|
self:SetDragView()
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookHeroInfoPanel:SetDragView()
|
||||||
|
if this.curLiveObj then
|
||||||
|
this.dragView.gameObject:SetActive(true)
|
||||||
|
this.dragView:SetDragGO(this.curLiveObj)
|
||||||
|
else
|
||||||
|
this.dragView.gameObject:SetActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function this:OnSortingOrderChange()
|
||||||
|
this.sortingOrder = this.sortingOrder
|
||||||
|
end
|
||||||
--根据界面数据加载动态立绘
|
--根据界面数据加载动态立绘
|
||||||
function HandBookHeroInfoPanel:LoadHerolive(_heroData, _objPoint)
|
function HandBookHeroInfoPanel:LoadHerolive(_heroData, _objPoint)
|
||||||
--TODO:动态加载立绘
|
--TODO:动态加载立绘
|
||||||
|
@ -318,115 +327,6 @@ function HandBookHeroInfoPanel:LoadHerolive(_heroData, _objPoint)
|
||||||
return testLive
|
return testLive
|
||||||
end
|
end
|
||||||
|
|
||||||
--计算英雄属性 1 初始 2 指定星级 _starNum星级变化
|
|
||||||
function HandBookHeroInfoPanel:CalculateHeroAllProValList(_starType,_starNum)
|
|
||||||
local allAddProVal = {}
|
|
||||||
for i, v in ConfigPairs(propertyConfig) do
|
|
||||||
allAddProVal[i] = 0
|
|
||||||
end
|
|
||||||
local heroRankupConfig = ConfigManager.GetConfigDataByDoubleKey(ConfigName.HeroRankupConfig, "Star", heroConFigData.Star, "OpenStar", _starNum)
|
|
||||||
local curLvNum=1
|
|
||||||
breakId = 0
|
|
||||||
upStarId = 0
|
|
||||||
if _starType == 2 then
|
|
||||||
--等级
|
|
||||||
curLvNum = heroRankupConfig.OpenLevel
|
|
||||||
--解锁天赋
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
Util.AddOnceClick(this.talentBtn,function()
|
|
||||||
UIManager.OpenPanel(UIName.RoleTalentPopup,heroConFigData,breakId,upStarId)
|
|
||||||
end)
|
|
||||||
|
|
||||||
for key, value in pairs(allAddProVal) do
|
|
||||||
allAddProVal[key] = math.floor(value)
|
|
||||||
end
|
|
||||||
return allAddProVal
|
|
||||||
end
|
|
||||||
|
|
||||||
--页签选中效果设置
|
|
||||||
function HandBookHeroInfoPanel:SetSelectBtn(_btn, btnText)
|
|
||||||
self.selectBtn.transform:SetParent(_btn.transform)
|
|
||||||
self.selectBtn.transform.localScale = Vector3.one
|
|
||||||
self.selectBtn.transform.localPosition=Vector3.zero
|
|
||||||
Util.GetGameObject(self.selectBtn.transform, "Text"):GetComponent("Text").text = btnText
|
|
||||||
end
|
|
||||||
|
|
||||||
function HandBookHeroInfoPanel:UpdateLiveList()
|
|
||||||
local starIndex = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.RoleAwake) and 11 or 10
|
|
||||||
if index - 1 > 0 then
|
|
||||||
_leftStar = _curStar
|
|
||||||
leftIndex = index - 1
|
|
||||||
leftHeroData=heroDatas[leftIndex]
|
|
||||||
else
|
|
||||||
if _curStar==starIndex then
|
|
||||||
_leftStar = 1
|
|
||||||
elseif _curStar==6 then
|
|
||||||
_leftStar = 10
|
|
||||||
else
|
|
||||||
_leftStar = _curStar+1
|
|
||||||
end
|
|
||||||
leftIndex=#PlayerManager.heroHandBookListData[_leftStar]
|
|
||||||
leftHeroData=PlayerManager.heroHandBookListData[_leftStar][leftIndex]
|
|
||||||
end
|
|
||||||
|
|
||||||
if index + 1 <= #heroDatas then
|
|
||||||
_rightStar = _curStar
|
|
||||||
rightIndex = index + 1
|
|
||||||
rightHeroData=heroDatas[rightIndex]
|
|
||||||
else
|
|
||||||
if _curStar==10 then
|
|
||||||
_rightStar = 6
|
|
||||||
elseif _curStar==1 then
|
|
||||||
_rightStar = starIndex
|
|
||||||
else
|
|
||||||
_rightStar = _curStar - 1
|
|
||||||
end
|
|
||||||
rightIndex = 1
|
|
||||||
rightHeroData=PlayerManager.heroHandBookListData[_rightStar][rightIndex]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
--右切换按钮点击
|
--右切换按钮点击
|
||||||
function HandBookHeroInfoPanel:RightBtnOnClick()
|
function HandBookHeroInfoPanel:RightBtnOnClick()
|
||||||
if isClickLeftOrRightBtn == false then
|
if isClickLeftOrRightBtn == false then
|
||||||
|
@ -441,36 +341,31 @@ function HandBookHeroInfoPanel:RightBtnOnClick()
|
||||||
heroDatas = PlayerManager.heroHandBookListData[_curStar]
|
heroDatas = PlayerManager.heroHandBookListData[_curStar]
|
||||||
end
|
end
|
||||||
heroConFigData = heroDatas[index]
|
heroConFigData = heroDatas[index]
|
||||||
this.SetPanelBg(heroConFigData)
|
|
||||||
if this.leftLiveObj then
|
if this.leftLiveObj then
|
||||||
poolManager:UnLoadLive(GetResourcePath(leftHeroData.Live), this.leftLiveObj)
|
poolManager:UnLoadLive(GetResourcePath(leftHeroData.Live), this.leftLiveObj)
|
||||||
this.leftLiveObj = nil
|
this.leftLiveObj = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
this.curLiveObj.transform:SetParent(self.leftObj.transform)
|
this.curLiveObj.transform:SetParent(self.leftObj.transform)
|
||||||
this.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(oldIndexConfigData.Position[1],oldIndexConfigData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
this.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(oldIndexConfigData.Position[1],oldIndexConfigData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
||||||
this.rightLiveObj.transform:SetParent(self.curObj.transform)
|
this.rightLiveObj.transform:SetParent(self.curObj.transform)
|
||||||
this.rightLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(rightHeroData.Position[1],rightHeroData.Position[2]), 0.5, false):OnComplete(function ()
|
this.rightLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(rightHeroData.Position[1],rightHeroData.Position[2]), 0.5, false):OnComplete(function ()
|
||||||
this:UpdateLiveList()
|
this:UpdateLiveList()
|
||||||
this.leftLiveObj = this.curLiveObj
|
if this.curLiveObj then
|
||||||
|
poolManager:UnLoadLive(this.curLiveObj.name, this.leftLiveObj)
|
||||||
|
this.curLiveObj = nil
|
||||||
|
end
|
||||||
|
Util.ClearChild(self.leftObj.transform)
|
||||||
|
this.leftLiveObj = this:LoadHerolive(leftHeroData,self.leftObj)
|
||||||
this.curLiveObj = this.rightLiveObj
|
this.curLiveObj = this.rightLiveObj
|
||||||
this.rightLiveObj = this:LoadHerolive(rightHeroData,self.rightObj)
|
this.rightLiveObj = this:LoadHerolive(rightHeroData,self.rightObj)
|
||||||
if _curStar and _curStar > 5 then
|
|
||||||
--[[ if heroConFigData.RankupConsumeMaterial and #heroConFigData.RankupConsumeMaterial > 0 then
|
|
||||||
self:OnShowHeroData(type,2,heroConFigData.RankupConsumeMaterial[#heroConFigData.RankupConsumeMaterial][1])
|
|
||||||
else]]
|
|
||||||
self:OnShowHeroData(type,2,_curStar)
|
|
||||||
--end
|
|
||||||
|
|
||||||
else
|
|
||||||
self:OnShowHeroData(type,1,heroConFigData.Star)
|
|
||||||
end
|
|
||||||
local SkeletonGraphic = this.curLiveObj:GetComponent("SkeletonGraphic")
|
local SkeletonGraphic = this.curLiveObj:GetComponent("SkeletonGraphic")
|
||||||
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
||||||
this.rightBtn:GetComponent("Button").enabled = true
|
this.rightBtn:GetComponent("Button").enabled = true
|
||||||
isClickLeftOrRightBtn = true
|
isClickLeftOrRightBtn = true
|
||||||
|
this:UpdateHeroInfoData()
|
||||||
end):SetEase(Ease.Linear)
|
end):SetEase(Ease.Linear)
|
||||||
end
|
end
|
||||||
|
|
||||||
--左切换按钮点击
|
--左切换按钮点击
|
||||||
function HandBookHeroInfoPanel:LeftBtnOnClick()
|
function HandBookHeroInfoPanel:LeftBtnOnClick()
|
||||||
if isClickLeftOrRightBtn == false then
|
if isClickLeftOrRightBtn == false then
|
||||||
|
@ -485,7 +380,6 @@ function HandBookHeroInfoPanel:LeftBtnOnClick()
|
||||||
heroDatas = PlayerManager.heroHandBookListData[_curStar]
|
heroDatas = PlayerManager.heroHandBookListData[_curStar]
|
||||||
end
|
end
|
||||||
heroConFigData = heroDatas[index]
|
heroConFigData = heroDatas[index]
|
||||||
this.SetPanelBg(heroConFigData)
|
|
||||||
if this.rightLiveObj then
|
if this.rightLiveObj then
|
||||||
poolManager:UnLoadLive(GetResourcePath(rightHeroData.Live), this.rightLiveObj)
|
poolManager:UnLoadLive(GetResourcePath(rightHeroData.Live), this.rightLiveObj)
|
||||||
this.rightLiveObj = nil
|
this.rightLiveObj = nil
|
||||||
|
@ -495,27 +389,22 @@ function HandBookHeroInfoPanel:LeftBtnOnClick()
|
||||||
this.leftLiveObj.transform:SetParent(self.curObj.transform)
|
this.leftLiveObj.transform:SetParent(self.curObj.transform)
|
||||||
this.leftLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(leftHeroData.Position[1],leftHeroData.Position[2]), 0.5, false):OnComplete(function ()
|
this.leftLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(leftHeroData.Position[1],leftHeroData.Position[2]), 0.5, false):OnComplete(function ()
|
||||||
this:UpdateLiveList()
|
this:UpdateLiveList()
|
||||||
this.rightLiveObj = this.curLiveObj
|
if this.curLiveObj then
|
||||||
|
poolManager:UnLoadLive(this.curLiveObj.name, this.rightLiveObj)
|
||||||
|
this.curLiveObj = nil
|
||||||
|
end
|
||||||
|
Util.ClearChild(self.rightObj.transform)
|
||||||
|
this.rightLiveObj = this:LoadHerolive(rightHeroData,self.rightObj)
|
||||||
this.curLiveObj = this.leftLiveObj
|
this.curLiveObj = this.leftLiveObj
|
||||||
this.leftLiveObj = this:LoadHerolive(leftHeroData,self.leftObj)
|
this.leftLiveObj = this:LoadHerolive(leftHeroData,self.leftObj)
|
||||||
|
|
||||||
if _curStar and _curStar > 5 then
|
|
||||||
--[[if heroConFigData.RankupConsumeMaterial and #heroConFigData.RankupConsumeMaterial > 0 then
|
|
||||||
self:OnShowHeroData(type,2,heroConFigData.RankupConsumeMaterial[#heroConFigData.RankupConsumeMaterial][1])
|
|
||||||
else]]
|
|
||||||
self:OnShowHeroData(type,2,_curStar)
|
|
||||||
--end
|
|
||||||
else
|
|
||||||
self:OnShowHeroData(type,1,heroConFigData.Star)
|
|
||||||
end
|
|
||||||
local SkeletonGraphic = this.curLiveObj:GetComponent("SkeletonGraphic")
|
local SkeletonGraphic = this.curLiveObj:GetComponent("SkeletonGraphic")
|
||||||
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
||||||
this.leftBtn:GetComponent("Button").enabled = true
|
this.leftBtn:GetComponent("Button").enabled = true
|
||||||
isClickLeftOrRightBtn = true
|
isClickLeftOrRightBtn = true
|
||||||
|
this:UpdateHeroInfoData()
|
||||||
end):SetEase(Ease.Linear)
|
end):SetEase(Ease.Linear)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--手指滑动
|
--手指滑动
|
||||||
local beginV3
|
local beginV3
|
||||||
local endV3
|
local endV3
|
||||||
|
@ -529,9 +418,9 @@ end
|
||||||
function HandBookHeroInfoPanel:OnEndDrag(Pointgo, data)
|
function HandBookHeroInfoPanel:OnEndDrag(Pointgo, data)
|
||||||
endV3=this.curLiveObj.transform.anchoredPosition
|
endV3=this.curLiveObj.transform.anchoredPosition
|
||||||
if distance>250 and endV3.x<0 then
|
if distance>250 and endV3.x<0 then
|
||||||
this:RightBtnOnClick()
|
self:RightBtnOnClick()
|
||||||
elseif distance>250 and endV3.x>0 then
|
elseif distance>250 and endV3.x>0 then
|
||||||
this:LeftBtnOnClick()
|
self:LeftBtnOnClick()
|
||||||
else
|
else
|
||||||
this.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(heroConFigData.Position[1],heroConFigData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
this.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(heroConFigData.Position[1],heroConFigData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
||||||
end
|
end
|
||||||
|
@ -555,34 +444,19 @@ function HandBookHeroInfoPanel:OnClose()
|
||||||
end
|
end
|
||||||
this.leftBtn:GetComponent("Button").enabled = true
|
this.leftBtn:GetComponent("Button").enabled = true
|
||||||
this.rightBtn:GetComponent("Button").enabled = true
|
this.rightBtn:GetComponent("Button").enabled = true
|
||||||
|
Util.ClearChild(this.curObj.transform)
|
||||||
|
Util.ClearChild(this.leftObj.transform)
|
||||||
|
Util.ClearChild(this.rightObj.transform)
|
||||||
end
|
end
|
||||||
|
|
||||||
function HandBookHeroInfoPanel:SortHeroNatural(heroList)
|
|
||||||
table.sort(heroList, function(a, b)
|
|
||||||
if a.Star == b.Star then
|
|
||||||
if a.Natural == b.Natural then
|
|
||||||
return a.Id < b.Id
|
|
||||||
else
|
|
||||||
return a.Natural > b.Natural
|
|
||||||
end
|
|
||||||
else
|
|
||||||
return a.Star > b.Star
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
function this.SetPanelBg(heroData)
|
|
||||||
for i = 1, 4 do
|
|
||||||
if heroData.PropertyName == i then
|
|
||||||
this.bgImageList[i]:SetActive(true)
|
|
||||||
else
|
|
||||||
this.bgImageList[i]:SetActive(false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
--界面销毁时调用(用于子类重写)
|
--界面销毁时调用(用于子类重写)
|
||||||
function HandBookHeroInfoPanel:OnDestroy()
|
function HandBookHeroInfoPanel:OnDestroy()
|
||||||
|
|
||||||
SubUIManager.Close(SubUIConfig.DragView, self.dragView)
|
SubUIManager.Close(SubUIConfig.DragView, self.dragView)
|
||||||
|
for _, page in pairs(this.PageList) do
|
||||||
|
if page.OnDestroy then
|
||||||
|
page:OnDestroy()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return HandBookHeroInfoPanel
|
return HandBookHeroInfoPanel
|
|
@ -0,0 +1,211 @@
|
||||||
|
require("Base/BasePanel")
|
||||||
|
HandBookRoleInfoLayout = Inherit(BasePanel)
|
||||||
|
local self = HandBookRoleInfoLayout
|
||||||
|
local heroConFigData
|
||||||
|
|
||||||
|
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
||||||
|
local heroLevelConfig = ConfigManager.GetConfig(ConfigName.HeroLevelConfig)
|
||||||
|
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||||||
|
local allAddProVal = {}
|
||||||
|
|
||||||
|
local breakId,upStarId
|
||||||
|
--初始化组件(用于子类重写)
|
||||||
|
function HandBookRoleInfoLayout:InitComponent(gameObject)
|
||||||
|
self.gameobject = gameObject.gameObject
|
||||||
|
--详情
|
||||||
|
Util.GetGameObject(gameObject,"pro/atk/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[2].Info)
|
||||||
|
Util.GetGameObject(gameObject,"pro/hp/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[1].Info)
|
||||||
|
Util.GetGameObject(gameObject,"pro/phyDef/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[3].Info)
|
||||||
|
Util.GetGameObject(gameObject,"pro/magDef/proName"):GetComponent("Text").text = GetLanguageStrById(propertyConfig[4].Info)
|
||||||
|
|
||||||
|
self.atkPro=Util.GetGameObject(gameObject,"pro/atk/proValue"):GetComponent("Text")
|
||||||
|
self.hpPro=Util.GetGameObject(gameObject,"pro/hp/proValue"):GetComponent("Text")
|
||||||
|
self.phyDef=Util.GetGameObject(gameObject,"pro/phyDef/proValue"):GetComponent("Text")
|
||||||
|
self.magDef=Util.GetGameObject(gameObject,"pro/magDef/proValue"):GetComponent("Text")
|
||||||
|
self.allProButton=Util.GetGameObject(gameObject,"allProButton")
|
||||||
|
|
||||||
|
self.skillGrid=Util.GetGameObject(gameObject,"Panel/Skill/skill")
|
||||||
|
self.selsectSkillImage=Util.GetGameObject(gameObject,"selsectSkillImage")
|
||||||
|
self.talismanBtn=Util.GetGameObject(gameObject,"Panel/Other/TalismanBtn")
|
||||||
|
self.talismanIcon=Util.GetGameObject(gameObject,"Panel/Other/TalismanBtn/Icon"):GetComponent("Image")
|
||||||
|
|
||||||
|
self.talentBtn=Util.GetGameObject(gameObject,"Panel/Other/talentBtn")
|
||||||
|
self.talentProgress=Util.GetGameObject(gameObject,"Panel/Other/talentBtn/progress"):GetComponent("Text")
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
--绑定事件(用于子类重写)
|
||||||
|
function HandBookRoleInfoLayout:BindEvent()
|
||||||
|
Util.AddClick(self.allProButton, function()
|
||||||
|
UIManager.OpenPanel(UIName.RoleProInfoPopup,allAddProVal,heroConFigData,false)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||||||
|
function HandBookRoleInfoLayout:OnShow(sortingOrder,parent,_heroConFigData,_curStar)
|
||||||
|
self.gameobject:SetActive(true)
|
||||||
|
self.sortingOrder = sortingOrder
|
||||||
|
heroConFigData = _heroConFigData
|
||||||
|
if _curStar and _curStar > 5 then
|
||||||
|
self:OnShowHeroData(2,_curStar)
|
||||||
|
else
|
||||||
|
self:OnShowHeroData(1,heroConFigData.Star)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--展示英雄信息 第一个参数 1初始 2 6星和10星 第三个参数 显示星级
|
||||||
|
function HandBookRoleInfoLayout:OnShowHeroData(_starType,_star)
|
||||||
|
--计算面板属性
|
||||||
|
allAddProVal=self:CalculateHeroAllProValList(_starType,_star)
|
||||||
|
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.talentBtn:SetActive(heroConFigData.OpenPassiveSkillRules ~= nil)
|
||||||
|
local talentBtnImage = _star == HeroManager.awakeNextStarIndex and "r_hero_tianfu2_zh" or "r_hero_tianfu1_zh"
|
||||||
|
self.talentBtn:GetComponent("Image").sprite = Util.LoadSprite(talentBtnImage)
|
||||||
|
local OpenPassiveSkillRules = _star == HeroManager.awakeNextStarIndex and heroConFigData.Awaken or heroConFigData.OpenPassiveSkillRules
|
||||||
|
if OpenPassiveSkillRules then
|
||||||
|
local openlists,compoundOpenNum,compoundNum = HeroManager.GetAllPassiveSkillIds(heroConFigData,breakId,upStarId)
|
||||||
|
self.talentProgress.text = #openlists - compoundOpenNum .."/"..#OpenPassiveSkillRules - compoundNum
|
||||||
|
end
|
||||||
|
|
||||||
|
--技能点击特殊处理
|
||||||
|
self.selsectSkillImage:SetActive(false)
|
||||||
|
self.skillGrid:GetComponent("Canvas").sortingOrder = self.sortingOrder + 1
|
||||||
|
local triggerCallBack
|
||||||
|
local skillList = HeroManager.GetCurHeroSidAndCurStarAllSkillDatas(heroConFigData.Id,_star)
|
||||||
|
for i = 1, self.skillGrid.transform.childCount do
|
||||||
|
self.skillGrid.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.skillGrid.transform:GetChild(i-1).gameObject
|
||||||
|
go:SetActive(true)
|
||||||
|
Util.GetGameObject(go.transform,"s"):GetComponent("Image").sprite=Util.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,"SkillTypeImage"):GetComponent("Image").sprite=Util.LoadSprite(GetSkillType(skillList[i]))
|
||||||
|
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
|
||||||
|
local maxLv= HeroManager.GetHeroSkillMaxLevel(heroConFigData.Id,skillData.skillConfig.Type)
|
||||||
|
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)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--法宝
|
||||||
|
self.talismanBtn.gameObject:SetActive(heroConFigData.EquipTalismana~=nil)
|
||||||
|
if heroConFigData.EquipTalismana~=nil then
|
||||||
|
self.talismanIcon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[heroConFigData.EquipTalismana[2]].ResourceID))
|
||||||
|
end
|
||||||
|
|
||||||
|
--法宝
|
||||||
|
Util.AddOnceClick(self.talismanBtn.gameObject,function()
|
||||||
|
if _starType == 1 then
|
||||||
|
UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,1)
|
||||||
|
else
|
||||||
|
UIManager.OpenPanel(UIName.TalismanInfoPopup,heroConFigData,1,75)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
--计算英雄属性 1 初始 2 指定星级 _starNum星级变化
|
||||||
|
function HandBookRoleInfoLayout:CalculateHeroAllProValList(_starType,_starNum)
|
||||||
|
local allAddProVal = {}
|
||||||
|
for i, v in ConfigPairs(propertyConfig) do
|
||||||
|
allAddProVal[i] = 0
|
||||||
|
end
|
||||||
|
local heroRankupConfig = ConfigManager.GetConfigDataByDoubleKey(ConfigName.HeroRankupConfig, "Star", heroConFigData.Star, "OpenStar", _starNum)
|
||||||
|
local curLvNum=1
|
||||||
|
breakId = 0
|
||||||
|
upStarId = 0
|
||||||
|
if _starType == 2 then
|
||||||
|
--等级
|
||||||
|
curLvNum = heroRankupConfig.OpenLevel
|
||||||
|
--解锁天赋
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
Util.AddOnceClick(self.talentBtn,function()
|
||||||
|
UIManager.OpenPanel(UIName.RoleTalentPopup,heroConFigData,breakId,upStarId)
|
||||||
|
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:OnClose()
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--界面销毁时调用(用于子类重写)
|
||||||
|
function HandBookRoleInfoLayout:OnDestroy()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return HandBookRoleInfoLayout
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b3032f89b986be54194e08b9dab90fd8
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,146 @@
|
||||||
|
require("Base/BasePanel")
|
||||||
|
HandBookRoleSkinPanel = Inherit(BasePanel)
|
||||||
|
local this = HandBookRoleSkinPanel
|
||||||
|
local porpertyConfigs = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
||||||
|
local artResConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
|
||||||
|
local skinPres = {}
|
||||||
|
local porpertys = {}
|
||||||
|
local curHeroData = {}
|
||||||
|
local curSkinId = 0
|
||||||
|
local parent = nil
|
||||||
|
local skins = {}
|
||||||
|
function HandBookRoleSkinPanel:InitComponent(gameObject)
|
||||||
|
this.gameObject = gameObject
|
||||||
|
this.skinPre = Util.GetGameObject(gameObject,"skinPre")
|
||||||
|
this.Select = Util.GetGameObject(gameObject,"selectLight")
|
||||||
|
this.skinGrid = Util.GetGameObject(gameObject,"skinGrid")
|
||||||
|
for i = 1, this.skinGrid.transform.childCount do
|
||||||
|
skinPres[i] = {}
|
||||||
|
skinPres[i].obj = this.skinGrid.transform:GetChild(i - 1)
|
||||||
|
skinPres[i].data = nil
|
||||||
|
end
|
||||||
|
return this
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookRoleSkinPanel:BindEvent()
|
||||||
|
end
|
||||||
|
--添加事件监听(用于子类重写)
|
||||||
|
function HandBookRoleSkinPanel:AddListener()
|
||||||
|
|
||||||
|
end
|
||||||
|
--移除事件监听(用于子类重写)
|
||||||
|
function HandBookRoleSkinPanel:RemoveListener()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
this.UpdateShow = this:OnShow()
|
||||||
|
|
||||||
|
--界面打开时调用
|
||||||
|
function HandBookRoleSkinPanel:OnShow(_sortinglayer,_parent,_curHerodata)
|
||||||
|
this.gameObject:SetActive(true)
|
||||||
|
curHeroData = _curHerodata
|
||||||
|
parent = _parent
|
||||||
|
curSkinId = 0
|
||||||
|
local configs = ConfigManager.GetAllConfigsDataByKey(ConfigName.HeroSkin,"HeroId",curHeroData.Id)
|
||||||
|
local tempskins = {}
|
||||||
|
for i = 1 ,#configs do
|
||||||
|
LogGreen("configs[i].Type:"..configs[i].Type)
|
||||||
|
if not tempskins[configs[i].Type] then
|
||||||
|
tempskins[configs[i].Type] = configs[i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
skins = {}
|
||||||
|
for i,v in pairs(tempskins) do
|
||||||
|
table.insert(skins,v)
|
||||||
|
end
|
||||||
|
table.sort(skins,function(a,b)
|
||||||
|
if a.Type == b.Type then
|
||||||
|
return a.Id < b.Id
|
||||||
|
else
|
||||||
|
return a.Type < b.Type
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
this:UpdateView()
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookRoleSkinPanel:UpdateView()
|
||||||
|
for k,v in pairs(skinPres) do
|
||||||
|
v.obj.gameObject:SetActive(false)
|
||||||
|
v.data = nil
|
||||||
|
end
|
||||||
|
local index = 1
|
||||||
|
for i,v in ipairs(skins) do
|
||||||
|
if not skinPres[index] then
|
||||||
|
skinPres[index] = {}
|
||||||
|
end
|
||||||
|
if not skinPres[index].obj then
|
||||||
|
skinPres[index].obj = newObjToParent(this.skinPre,this.skinGrid)
|
||||||
|
end
|
||||||
|
skinPres[index].data = v
|
||||||
|
skinPres[index].obj.gameObject:SetActive(true)
|
||||||
|
self:SetSingleData(skinPres[index].obj,v)
|
||||||
|
index = index + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookRoleSkinPanel:SetSingleData(go,data)
|
||||||
|
local icon = Util.GetGameObject(go,"skinIcon"):GetComponent("Image")
|
||||||
|
local lock = Util.GetGameObject(go,"skinState").gameObject:SetActive(false)
|
||||||
|
local infoPre = Util.GetGameObject(go,"skinInfo/infoPre")
|
||||||
|
local infoGrid = Util.GetGameObject(go,"skinInfo/grid")
|
||||||
|
local skinName = Util.GetGameObject(go,"skinName/name"):GetComponent("Text")
|
||||||
|
skinName.text = GetLanguageStrById(data.ReadingName)
|
||||||
|
if data.IsDefault == 1 then
|
||||||
|
skinName.text = Language[11828]
|
||||||
|
end
|
||||||
|
icon.sprite = Util.LoadSprite(artResConfig[data.Painting].Name)
|
||||||
|
if not porpertys then
|
||||||
|
porpertys = {}
|
||||||
|
end
|
||||||
|
if not porpertys[go] then
|
||||||
|
porpertys[go] = {}
|
||||||
|
end
|
||||||
|
for i = 1, infoGrid.transform.childCount do
|
||||||
|
porpertys[go][i] = infoGrid.transform:GetChild(i - 1)
|
||||||
|
porpertys[go][i].gameObject:SetActive(false)
|
||||||
|
end
|
||||||
|
if data.MonomerProperty and #data.MonomerProperty > 0 then
|
||||||
|
for i = 1, #data.MonomerProperty do
|
||||||
|
if not porpertys[go][i] then
|
||||||
|
porpertys[go][i] = newObjToParent(infoPre,infoGrid)
|
||||||
|
end
|
||||||
|
porpertys[go][i].gameObject:SetActive(true)
|
||||||
|
local tempProData = porpertyConfigs[data.MonomerProperty[i][1]]
|
||||||
|
Util.GetGameObject(porpertys[go][i],"info"):GetComponent("Text").text = GetLanguageStrById(tempProData.Info) .. "+" ..GetPropertyFormatStr(tempProData.Style,data.MonomerProperty[i][2])
|
||||||
|
porpertys[go][i]:GetComponent("Button").enabled = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Util.AddOnceClick(go.gameObject,function()
|
||||||
|
local skinId = data.IsDefault == 1 and 0 or data.Type
|
||||||
|
this:BtnAction(skinId,data)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookRoleSkinPanel:BtnAction(skinId,data)
|
||||||
|
if skinId == curSkinId then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
curSkinId = skinId
|
||||||
|
parent:ChangeCurentHeroSkinLive(data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function HandBookRoleSkinPanel:OnHide()
|
||||||
|
this.gameObject:SetActive(false)
|
||||||
|
if parent then
|
||||||
|
parent:ChangeCurentHeroSkinLive()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function HandBookRoleSkinPanel:OnClose()
|
||||||
|
|
||||||
|
end
|
||||||
|
function HandBookRoleSkinPanel:OnDestroy()
|
||||||
|
skinPres = {}
|
||||||
|
porpertys = {}
|
||||||
|
curHeroData = {}
|
||||||
|
end
|
||||||
|
return HandBookRoleSkinPanel
|
|
@ -0,0 +1,9 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 83fb645f83afa2e4f871f3989dc3c456
|
||||||
|
timeCreated: 1545907222
|
||||||
|
licenseType: Pro
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -23,13 +23,11 @@ end
|
||||||
--添加事件监听(用于子类重写)
|
--添加事件监听(用于子类重写)
|
||||||
function RoleStoryLayout:AddListener()
|
function RoleStoryLayout:AddListener()
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--移除事件监听(用于子类重写)
|
--移除事件监听(用于子类重写)
|
||||||
function RoleStoryLayout:RemoveListener()
|
function RoleStoryLayout:RemoveListener()
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function RoleStoryLayout:OnSortingOrderChange()
|
function RoleStoryLayout:OnSortingOrderChange()
|
||||||
|
@ -39,8 +37,9 @@ end
|
||||||
function RoleStoryLayout:OnShow(_sortinglayer,_parent,_curHerodata)
|
function RoleStoryLayout:OnShow(_sortinglayer,_parent,_curHerodata)
|
||||||
this.gameObject:SetActive(true)
|
this.gameObject:SetActive(true)
|
||||||
curHeroData = _curHerodata
|
curHeroData = _curHerodata
|
||||||
|
local story = curHeroData.heroConfig and curHeroData.heroConfig.HeroStory or curHeroData.HeroStory
|
||||||
this.infoTextStory:GetComponent("RectTransform").anchoredPosition = Vector2.New(-2, 0)
|
this.infoTextStory:GetComponent("RectTransform").anchoredPosition = Vector2.New(-2, 0)
|
||||||
local stroyStr = string.gsub(GetLanguageStrById(curHeroData.heroConfig.HeroStory),"#","\n")
|
local stroyStr = string.gsub(GetLanguageStrById(story),"#","\n")
|
||||||
this.infoTextStory.text = string.gsub(stroyStr,"|"," ")--传记
|
this.infoTextStory.text = string.gsub(stroyStr,"|"," ")--传记
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue