添加特训加速界面预设
parent
8d8635ce64
commit
0655c65659
|
@ -531,6 +531,7 @@ UIName = {
|
|||
SmallSoldierAutoPanel=539, --神兵自动抽卡遮罩
|
||||
ZeroPointOnePanel=540, --零点一折商店
|
||||
ZeroPointOneMissionPanel=541, --零点一折商店任务
|
||||
TrainHeroAddSpeedPanel=542, --特训英雄加速
|
||||
}
|
||||
|
||||
SubUIConfig = {
|
||||
|
|
|
@ -0,0 +1,301 @@
|
|||
----- 心愿抽卡弹窗 -----
|
||||
local TrainHeroAddSpeedPanel = quick_class("TrainHeroAddSpeedPanel", BasePanel)
|
||||
|
||||
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||||
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
|
||||
local specialConfig = ConfigManager.GetConfig(ConfigName.SpecialConfig)
|
||||
local this=TrainHeroAddSpeedPanel
|
||||
local buildData=nil
|
||||
local curHeroId=nil
|
||||
local leftTime=-1
|
||||
local curSelectObj=nil
|
||||
function this:InitComponent()
|
||||
self.spLoader = SpriteLoader.New()
|
||||
self.btn_close = Util.GetGameObject(self.gameObject,"bg/btn_close")
|
||||
self.btn_star = Util.GetGameObject(self.gameObject,"bg/btn_star")
|
||||
self.btn_end = Util.GetGameObject(self.gameObject,"bg/btn_end")
|
||||
self.helpBtn = Util.GetGameObject(self.gameObject, "helpBtn")
|
||||
self.scroll = Util.GetGameObject(self.gameObject,"selectList")
|
||||
self.itemPre = Util.GetGameObject(self.gameObject,"itemPre")
|
||||
self.title= Util.GetGameObject(self.gameObject,"bg/title"):GetComponent("Text")
|
||||
self.infoTxt=Util.GetGameObject(self.gameObject,"bg/info"):GetComponent("Text")
|
||||
self.costImg=Util.GetGameObject(self.gameObject,"bg/costImg"):GetComponent("Image")
|
||||
self.costNum=Util.GetGameObject(self.gameObject,"bg/costNum"):GetComponent("Text")
|
||||
-- 设置循环滚动,万一内容不停地加
|
||||
local rootHight = self.scroll.transform.rect.height
|
||||
local width = self.scroll.transform.rect.width
|
||||
|
||||
self.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.scroll.transform,
|
||||
self.itemPre, nil, Vector2.New(width, rootHight), 1, 5, Vector2.New(20,75))
|
||||
self.scrollView.moveTween.MomentumAmount = 1
|
||||
self.scrollView.moveTween.Strength = 2
|
||||
|
||||
self.itemList = {}
|
||||
self.maskList = {}
|
||||
--wishList
|
||||
|
||||
self.selctHero=Util.GetGameObject(self.gameObject,"bg/bglist/hero")
|
||||
--tabList
|
||||
self.tabListObj = {}
|
||||
self.selectBtn = Util.GetGameObject(self.gameObject,"Tabs/grid/selectBtn")
|
||||
for j = 1, 4 do
|
||||
self.maskList[j] = {}
|
||||
self.itemList[j] = {}
|
||||
self.tabListObj[j] = Util.GetGameObject(self.gameObject,"Tabs/grid/Btn"..j)
|
||||
end
|
||||
|
||||
self.noneObj=Util.GetGameObject(self.gameObject,"NoneImage")
|
||||
|
||||
Util.GetGameObject(self.gameObject,"NoneImage/TextImage/Text"):GetComponent("Text").text="暂无可修炼英雄"
|
||||
self.helpPosition = self.helpBtn:GetComponent("RectTransform").localPosition
|
||||
end
|
||||
|
||||
function this:BindEvent()
|
||||
for i = 1, 4 do
|
||||
Util.AddOnceClick(self.tabListObj[i],function ()
|
||||
self.curSelect = i
|
||||
this:Refresh(true,false)
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
Util.AddOnceClick(self.btn_close,function ()
|
||||
--LogError("点击确定按钮")
|
||||
self:ClosePanel()
|
||||
end)
|
||||
Util.AddOnceClick(self.btn_star,function ()
|
||||
if buildData.heroId and buildData.heroId~="" then
|
||||
PopupTipPanel.ShowTip("已有修炼英雄")
|
||||
return
|
||||
end
|
||||
if curHeroId==nil or curHeroId=="" then
|
||||
PopupTipPanel.ShowTip("请选择修炼英雄")
|
||||
return
|
||||
end
|
||||
NetManager.TrainingRequest(buildData.dataMain.Id,curHeroId,1,function ()
|
||||
self:Refresh()
|
||||
Game.GlobalEvent:DispatchEvent(GameEvent.UI.OnUpdateData)
|
||||
end)
|
||||
end)
|
||||
Util.AddOnceClick(self.btn_end,function ()
|
||||
if buildData.heroId and buildData.heroId~="" then
|
||||
NetManager.TrainingRequest(buildData.dataMain.Id,buildData.heroId,2,function ()
|
||||
curHeroId=nil
|
||||
self:Refresh()
|
||||
Game.GlobalEvent:DispatchEvent(GameEvent.UI.OnUpdateData)
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
--帮助按钮
|
||||
Util.AddClick(self.helpBtn, function()
|
||||
LogError("点击帮助按钮")
|
||||
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.Train,self.helpPosition.x,self.helpPosition.y)
|
||||
end)
|
||||
end
|
||||
|
||||
function this:AddListener()
|
||||
end
|
||||
|
||||
function this:RemoveListener()
|
||||
end
|
||||
|
||||
|
||||
|
||||
function this:OnOpen(_data,_leftTime)
|
||||
buildData=_data
|
||||
self.title.text=buildData.dataMain.Name
|
||||
self.infoTxt.text=buildData.dataMain.Name.."每分钟增加"..buildData.dataSingle.Gain.."修炼经验"
|
||||
leftTime=_leftTime
|
||||
curHeroId=buildData.heroId
|
||||
--LogError("buildData.dataMain.Id==="..buildData.dataMain.Id)
|
||||
end
|
||||
function this:OnShow()
|
||||
this:Refresh(true,false)
|
||||
end
|
||||
|
||||
function this:Refresh(isTop,isAni)
|
||||
--self.selectBtn:GetComponent("RectTransform").localPosition = self.tabListObj[self.curSelect]:GetComponent("RectTransform").localPosition
|
||||
this:SetHeroList(isTop,isAni)
|
||||
this:SetUpHero()
|
||||
end
|
||||
|
||||
function this:SetUpHero()
|
||||
local go = self.selctHero
|
||||
local frame = Util.GetGameObject(go, "frame"):GetComponent("Image")
|
||||
local icon = Util.GetGameObject(go, "icon"):GetComponent("Image")
|
||||
local proIcon = Util.GetGameObject(go, "proIcon"):GetComponent("Image")
|
||||
local starGrid = Util.GetGameObject(go, "star")
|
||||
local choosed = Util.GetGameObject(go, "choosed")
|
||||
local lv = Util.GetGameObject(go, "lvBg/lv"):GetComponent("Text")
|
||||
local name = Util.GetGameObject(go, "name"):GetComponent("Text")
|
||||
local trainLv=Util.GetGameObject(go, "trainLvBg/Text"):GetComponent("Text")
|
||||
local trainObj=Util.GetGameObject(go, "trainLvBg")
|
||||
local heroId = curHeroId
|
||||
choosed:SetActive(false)
|
||||
if heroId and heroId~="" then
|
||||
|
||||
local heroData = HeroManager.GetSingleHeroData(heroId)
|
||||
if heroData then
|
||||
go:SetActive(true)
|
||||
frame.sprite = self.spLoader:LoadSprite(GetBgByHeroNatural(heroData.heroConfig.Natural))
|
||||
icon.sprite = self.spLoader:LoadSprite(GetResourcePath(heroData.heroConfig.Icon))
|
||||
proIcon.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(heroData.heroConfig.PropertyName))
|
||||
trainObj:SetActive(heroData.HeroTraining.trainingLv>0)
|
||||
trainLv.text="修炼等级"..heroData.HeroTraining.trainingLv
|
||||
name.text=heroData.heroConfig.Name
|
||||
lv.text=heroData.lv
|
||||
SetHeroStars(self.spLoader,starGrid, heroData.star)
|
||||
Util.SetParticleSortLayer(starGrid,this.sortingOrder + 1)
|
||||
Util.AddOnceClick(go,function ()
|
||||
end)
|
||||
local pos=buildData.dataSingle.Position
|
||||
local max=0
|
||||
local curValue=0
|
||||
local train=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.Train,"HeroID",heroData.heroConfig.Id,"Level",heroData.HeroTraining.trainingLv)
|
||||
if train then
|
||||
local aaa=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.TrainSetting,"PoolID",train.TrainSettingID,"Level",heroData.HeroTraining.trainingLv)
|
||||
if pos==1 then
|
||||
max=aaa.TrainExp1
|
||||
curValue=heroData.HeroTraining.attackExp
|
||||
elseif pos==2 then
|
||||
max=aaa.TrainExp2
|
||||
curValue=heroData.HeroTraining.defenseExp
|
||||
elseif pos==3 then
|
||||
max=aaa.TrainExp3
|
||||
curValue=heroData.HeroTraining.hpExp
|
||||
end
|
||||
end
|
||||
LogError("curvalue==========================="..curValue.." max=="..max.." buildData.dataSingle.Gain=="..buildData.dataSingle.Gain)
|
||||
local endTime=buildData.heroStarTime+math.ceil((max-curValue)/buildData.dataSingle.Gain)*60
|
||||
leftTime=endTime-GetTimeStamp()
|
||||
this:SetTime(name)
|
||||
end
|
||||
|
||||
else
|
||||
go:SetActive(false)
|
||||
end
|
||||
|
||||
|
||||
-- Util.AddLongPressClick(go,function ()
|
||||
-- UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, heroId, 5)
|
||||
-- end,0.5)
|
||||
end
|
||||
|
||||
function this:SetHeroList(isTop,isAni)
|
||||
local heroList = TrainBuildManager.GetAllCanTrainHero()
|
||||
local list={}
|
||||
curSelectObj=nil
|
||||
--LogError("buildData.heroId======="..buildData.heroId)
|
||||
local upList=TrainBuildManager.GetTrainHeroIds()
|
||||
for k, v in pairs(heroList) do
|
||||
if CheckListIsContainValue1(upList,v.dynamicId)==false or v.dynamicId==buildData.heroId then
|
||||
table.insert(list,v)
|
||||
end
|
||||
end
|
||||
self.noneObj:SetActive(#list==0)
|
||||
self.scrollView:SetData(list, function (index, item)
|
||||
this:ShowSingleHero(item, list[index],index)
|
||||
end,not isTop,not isAni)
|
||||
end
|
||||
|
||||
|
||||
function this:SetTime(_text)
|
||||
if self.timer then
|
||||
self.timer:Stop()
|
||||
self.timer = nil
|
||||
end
|
||||
if buildData.heroId and buildData.heroId~="" then
|
||||
_text.gameObject:SetActive(true)
|
||||
self.timer = Timer.New(function ()
|
||||
if leftTime >= 0 then
|
||||
_text.text = TimeToFelaxible(leftTime)
|
||||
leftTime = leftTime -1
|
||||
_text.gameObject:SetActive(true)
|
||||
if leftTime < 0 then
|
||||
--curObj.effect2:SetActive(true)
|
||||
_text.text="已完成"
|
||||
end
|
||||
else
|
||||
if buildData.heroId and buildData.heroId~="" then
|
||||
_text.gameObject:SetActive(true)
|
||||
_text.text="已完成"
|
||||
end
|
||||
|
||||
end
|
||||
end, 1, -1, true)
|
||||
self.timer:Start()
|
||||
else
|
||||
_text.gameObject:SetActive(false)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
function this:ShowSingleHero(go,data,index)
|
||||
local heroData = data.heroConfig
|
||||
Util.GetGameObject(go, "frame"):GetComponent("Image").sprite = self.spLoader:LoadSprite(GetBgByHeroNatural(heroData.Natural))
|
||||
Util.GetGameObject(go, "icon"):GetComponent("Image").sprite = self.spLoader:LoadSprite(GetResourcePath(heroData.Icon))
|
||||
Util.GetGameObject(go, "proIcon"):GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(heroData.PropertyName))
|
||||
Util.GetGameObject(go, "name"):GetComponent("Text").text = heroData.ReadingName
|
||||
Util.GetGameObject(go, "choosed/Text"):GetComponent("Text").text="修炼中"
|
||||
Util.GetGameObject(go, "lvBg/lv"):GetComponent("Text").text = data.lv
|
||||
local trainLv=Util.GetGameObject(go, "trainLvBg/Text"):GetComponent("Text")
|
||||
local trainObj=Util.GetGameObject(go, "trainLvBg")
|
||||
local choosed=Util.GetGameObject(go, "choosed")
|
||||
choosed:SetActive(curHeroId==data.dynamicId)
|
||||
if curHeroId==data.dynamicId then
|
||||
curSelectObj=choosed
|
||||
end
|
||||
local trainInfo=Util.GetGameObject(go, "trainLvBg")
|
||||
local trainLv=Util.GetGameObject(go, "trainLvBg/Text"):GetComponent("Text")
|
||||
trainObj:SetActive(data.HeroTraining.trainingLv>0)
|
||||
trainLv.text="修炼等级"..data.HeroTraining.trainingLv
|
||||
local starGrid = Util.GetGameObject(go, "star")
|
||||
SetHeroStars(self.spLoader,starGrid,data.star)
|
||||
Util.SetParticleSortLayer(starGrid,this.sortingOrder + 1)
|
||||
Util.AddOnceClick(go,function()
|
||||
if buildData.heroId and buildData.heroId~="" then
|
||||
if data.dynamicId~=buildData.heroId then
|
||||
PopupTipPanel.ShowTip("请先为当前英雄结束修炼")
|
||||
return
|
||||
end
|
||||
if data.dynamicId==buildData.heroId then
|
||||
PopupTipPanel.ShowTip("当前英雄修炼中")
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
if curHeroId~=data.dynamicId then
|
||||
if curSelectObj then
|
||||
curSelectObj:SetActive(false)
|
||||
end
|
||||
curHeroId=data.dynamicId
|
||||
curSelectObj=choosed
|
||||
else
|
||||
curHeroId=nil
|
||||
curSelectObj=nil
|
||||
end
|
||||
choosed:SetActive(curHeroId==data.dynamicId)
|
||||
this:SetUpHero()
|
||||
end)
|
||||
end
|
||||
|
||||
function this:OnClose()
|
||||
|
||||
end
|
||||
|
||||
function this:OnDestroy()
|
||||
self.itemList = {}
|
||||
self.maskList = {}
|
||||
self.wishListObj = {}
|
||||
self.tabListObj = {}
|
||||
self.spLoader:Destroy()
|
||||
if self.timer then
|
||||
self.timer:Stop()
|
||||
self.timer = nil
|
||||
end
|
||||
end
|
||||
|
||||
return this
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2311505e3a6397048a61166d10652d49
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in New Issue