193 lines
6.9 KiB
Lua
193 lines
6.9 KiB
Lua
require("Base/BasePanel")
|
|
HelpFightPanel = Inherit(BasePanel)
|
|
local assConfig=ConfigManager.GetConfig(ConfigName.AssistanceConfig)
|
|
|
|
|
|
--初始化组件(用于子类重写)
|
|
function HelpFightPanel:InitComponent()
|
|
self.spLoader = SpriteLoader.New()
|
|
|
|
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, {showType = UpViewOpenType.ShowLeft})
|
|
self.btnBack = Util.GetGameObject(self.gameObject, "Back/BackBtn")
|
|
self.AddProTxt=Util.GetGameObject(self.gameObject, "AddProTxt"):GetComponent("Text")
|
|
self.helpBtn = Util.GetGameObject(self.gameObject, "HelpBtn")
|
|
self.scrollRect=Util.GetGameObject(self.gameObject, "scroll")
|
|
self.prefab = Util.GetGameObject(self.gameObject, "item")
|
|
self.tipInfo=Util.GetGameObject(self.gameObject, "tipInfo"):GetComponent("Text")
|
|
self.ScrollBar=Util.GetGameObject(self.gameObject, "Scrollbar"):GetComponent("Scrollbar")
|
|
local v2 = self.scrollRect:GetComponent("RectTransform").rect
|
|
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.scrollRect.transform,self.prefab, self.ScrollBar, Vector2.New(v2.width, v2.height), 1, 4, Vector2.New(75,20))
|
|
self.ScrollView.moveTween.MomentumAmount = 1
|
|
self.ScrollView.moveTween.Strength = 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
--绑定事件(用于子类重写)
|
|
function HelpFightPanel:BindEvent()
|
|
Util.AddClick(self.btnBack,function()
|
|
self:ClosePanel()
|
|
end)
|
|
Util.AddClick(self.helpBtn,function()
|
|
UIManager.OpenPanel(UIName.HelpPopup, 146,0,0)
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function HelpFightPanel:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function HelpFightPanel:RemoveListener()
|
|
|
|
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function HelpFightPanel:OnOpen()
|
|
|
|
end
|
|
|
|
function HelpFightPanel:OnSortingOrderChange()
|
|
|
|
end
|
|
|
|
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function HelpFightPanel:OnShow()
|
|
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.HongMengTower})
|
|
local list={}
|
|
local heroList=HelpFightManager.HelpFightList
|
|
for key,v in ConfigPairs(assConfig) do
|
|
--LogError("id=="..v.Id)
|
|
local data={}
|
|
data.config=v
|
|
if heroList[key].heroId~="" and heroList[key].heroId~=nil then
|
|
data.hero=HeroManager.GetSingleHeroData(heroList[key].heroId)
|
|
end
|
|
data.state=heroList[key].state
|
|
list[key]=data
|
|
end
|
|
LogError("list len==============="..#list)
|
|
self.ScrollView:SetData(list, function (index, go)
|
|
self:SingleItemDataShow(go, list[index],index)
|
|
end)
|
|
local addProList,addNum=HelpFightManager.GetAllAddPro()
|
|
if #addProList==0 then
|
|
local aaa={1,2,3,4}
|
|
for i=1,#aaa do
|
|
addProList[aaa[i]]=0
|
|
end
|
|
end
|
|
local str=""
|
|
for k, v in pairs(addProList) do
|
|
str=str..GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.PropertyConfig,k).Info).." +"..v.." "..string.format("(阵位加成%s%%)\n\n",addNum/100)
|
|
end
|
|
self.AddProTxt.text=str
|
|
--self.tipInfo.text=""
|
|
end
|
|
|
|
|
|
function HelpFightPanel:SingleItemDataShow(_go,_data,_index)
|
|
LogError("_data.id================================".._data.config.Id)
|
|
local frame=Util.GetGameObject(_go,"Box/Empty/frame"):GetComponent("Image")
|
|
local infoTxt=Util.GetGameObject(_go,"infoTxt"):GetComponent("Text")
|
|
local lockObj =Util.GetGameObject(_go,"Box/Empty/lock")
|
|
local tipObj=Util.GetGameObject(_go,"Box/Empty/tipInfo")
|
|
local heroObj=Util.GetGameObject(_go,"GameObject")
|
|
local frame1 = Util.GetGameObject(heroObj, "frame"):GetComponent("Image")
|
|
local lvGo = Util.GetGameObject(heroObj, "lv")
|
|
local icon = Util.GetGameObject(heroObj, "icon"):GetComponent("Image")
|
|
local proIcon = Util.GetGameObject(heroObj, "proIcon")
|
|
|
|
local redPoint = Util.GetGameObject(_go, "redPoint")
|
|
--local name = Util.GetGameObject(heroObj, "name"):GetComponent("Text")
|
|
local starGrid = Util.GetGameObject(heroObj, "star")
|
|
local tipTxt=Util.GetGameObject(_go,"Box/Empty/tipInfo/Text"):GetComponent("Text")
|
|
local proTxt=Util.GetGameObject(_go,"proList/pro1"):GetComponent("Text")
|
|
frame.sprite= self.spLoader:LoadSprite(GetBgByHeroNatural(_data.config.Quality))
|
|
local title=GetHeroNaturalStrByNatural(_data.config.Quality).." "..HeroElementDef[_data.config.ProfessionLimit]
|
|
redPoint:SetActive(HelpFightManager.CheckRedPointByPosition(_index))
|
|
infoTxt.text=title
|
|
lockObj:SetActive(_data.state==0)
|
|
tipObj:SetActive(_data.state==0)
|
|
tipTxt.text=string.format("%s天后开启",_data.config.Experience)
|
|
local proList={}
|
|
if _data.hero then
|
|
heroObj:SetActive(true)
|
|
frame1.sprite = self.spLoader:LoadSprite(GetHeroQuantityImageByquality(_data.hero.heroConfig.Natural))
|
|
lvGo:SetActive(true)
|
|
Util.GetGameObject(lvGo.transform, "Text"):GetComponent("Text").text = _data.hero.lv
|
|
icon.sprite = self.spLoader:LoadSprite(_data.hero.icon)
|
|
proIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(_data.hero.changeProId))
|
|
--name.text = SubString2(GetLanguageStrById(_data.hero.heroConfig.ReadingName),8)
|
|
local star,starType = _data.hero.GetStar(1)
|
|
SetHeroStars(self.spLoader, starGrid, star,starType,nil,nil,Vector2.New(0,1))
|
|
Util.SetParticleSortLayer(starGrid,self.sortingOrder + 1)
|
|
local config=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.AssistanceProperty,"Quality",_data.hero.heroConfig.Natural,"Star",_data.hero.star)
|
|
if config then
|
|
proList=config.Property
|
|
end
|
|
Util.AddClick(icon.gameObject,function ()
|
|
local data={}
|
|
data.title=title
|
|
data.hero=_data.hero
|
|
data.limitQua=_data.config.Quality
|
|
data.limitPro=_data.config.ProfessionLimit
|
|
data.pos=_index
|
|
UIManager.OpenPanel(UIName.HelpFightListPanel,data,self)
|
|
end)
|
|
else
|
|
proList={{1,0},{2,0},{3,0},{4,0}}
|
|
heroObj:SetActive(false)
|
|
end
|
|
|
|
--显示属性
|
|
local str=""
|
|
for i = 1, #proList do
|
|
local k=proList[i][1]
|
|
local v=proList[i][2]
|
|
str=str..GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.PropertyConfig,i).Info).." +"..v.."\n"
|
|
end
|
|
proTxt.text=str
|
|
|
|
|
|
Util.AddClick(frame.gameObject,function()
|
|
local data={}
|
|
data.title=title
|
|
data.hero=nil
|
|
data.limitQua=_data.config.Quality
|
|
data.limitPro=_data.config.ProfessionLimit
|
|
data.pos=_index
|
|
UIManager.OpenPanel(UIName.HelpFightListPanel,data,self)
|
|
end)
|
|
|
|
end
|
|
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function HelpFightPanel:OnClose()
|
|
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function HelpFightPanel:OnDestroy()
|
|
self.spLoader:Destroy()
|
|
SubUIManager.Close(self.UpView)
|
|
|
|
end
|
|
|
|
return HelpFightPanel |