特训建筑修改

wangzhenxing 2023-11-21 18:59:58 +08:00
parent 95649114b4
commit 37b4489aed
5 changed files with 236063 additions and 238135 deletions

File diff suppressed because it is too large Load Diff

View File

@ -241,6 +241,15 @@ function this.UpdateHeroDatas(_msgHeroData, isFindHandBook)
end
--设置英雄特训数据
function this.SetHeroTraining(dyn,data)
if heroDatas[dyn] then
heroDatas[dyn].HeroTraining=data
end
end
function this.SetPotentialData(msg,dyn)
local list={}
for i =1,#msg do

View File

@ -58,16 +58,15 @@ function TrainBuildPanel:InitComponent()
self.mapData[i].upgradeImg:SetActive(true)
self.mapData[i].updateTime = Util.GetGameObject(self.mapData[i].Obj,"updateTime")
self.mapData[i].updateTimeText = Util.GetGameObject(self.mapData[i].updateTime,"updateText"):GetComponent("Text")
self.mapData[i].trainTime = Util.GetGameObject(self.mapData[i].Obj,"trainTime")
self.mapData[i].trainTimeTxt = Util.GetGameObject(self.mapData[i].Obj,"trainTime/updateText"):GetComponent("Text")
self.mapData[i].timeSlide = Util.GetGameObject(self.mapData[i].updateTime,"Slide/Image"):GetComponent("Image")
self.mapData[i].btnDetail = Util.GetGameObject(self.mapData[i].Btns,"Detail")
self.mapData[i].btnUpgrade = Util.GetGameObject(self.mapData[i].Btns,"Upgrade")
self.mapData[i].upGradeRed = Util.GetGameObject(self.mapData[i].btnUpgrade,"upGradeRed")
self.mapData[i].btnCancel = Util.GetGameObject(self.mapData[i].Btns,"Cancel")
self.mapData[i].btnCancel:SetActive(false)
self.mapData[i].btnSpeedUp = Util.GetGameObject(self.mapData[i].Btns,"Speed")
self.mapData[i].leftTime = -1
self.mapData[i].showTime = -1
self.mapData[i].trainLeftTime = -1
self.mapData[i].effect1 = Util.GetGameObject(self.mapData[i].upgradeImg,"c_jianzao")
self.mapData[i].effect2 = Util.GetGameObject(self.mapData[i].upgradeImg,"c_shengji")
self.mapData[i].effect1:SetActive(false)
@ -124,33 +123,7 @@ function TrainBuildPanel:BindEvent()
UIManager.OpenPanel(UIName.TrainSelectHeroPanel,TrainBuildManager.BuildData[i])
end)
--打开加速
Util.AddOnceClick(self.mapData[i].btnSpeedUp,function ()
local value = math.ceil((HomeLandManager.BuildData[i].endTime - GetTimeStamp())/tonumber(costStr[1]))*tonumber(costStr[3])
-- LogGreen("需要16"..tostring(value).." 现有:"..tostring(BagManager.GetTotalItemNum(16)))
if BagManager.GetTotalItemNum(16) >= value then
MsgPanel.ShowTwo(string.format("是否花费%s妖晶立即升级",value),function() end,function()
if BagManager.GetTotalItemNum(16) < value then
PopupTipPanel.ShowTip("妖晶不足!")
return
end
NetManager.ArchitectureOperateRequest({HomeLandManager.BuildData[i].dataMain.Id},2,0,function ()
self.mapData[i].leftTime = -1
PopupTipPanel.ShowTip(string.format("<color=#00FF00>%s</color>已升级至<color=#00FF00>%s</color>级",HomeLandManager.BuildData[i].dataMain.Name,HomeLandManager.BuildData[i].dataSingle.level))
--特效
self.mapData[i].effect2:SetActive(true)
Timer.New(function ()
self.mapData[i].effect2:SetActive(false)
end,1):Start()
NetManager.HomeInfoRequest(function ()
self:OnShow()
end)
end)
end,"取消","确定")
else
PopupTipPanel.ShowTip("妖晶不足!")
end
end)
end
@ -161,13 +134,12 @@ end
function TrainBuildPanel:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.UI.OnUpdateData, self.OnShow,self)
Game.GlobalEvent:AddEvent(GameEvent.Bag.BagGold, self.OnShow,self)
Game.GlobalEvent:AddEvent(GameEvent.Privilege.OnPrivilegeZeroUpdate, self.OnShow,self)
end
function TrainBuildPanel:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnUpdateData, self.OnShow,self)
Game.GlobalEvent:RemoveEvent(GameEvent.Bag.BagGold, self.OnShow,self)
Game.GlobalEvent:RemoveEvent(GameEvent.Privilege.OnPrivilegeZeroUpdate, self.OnShow,self)
end
--待功能扩展(试图打开某个状态)
@ -208,14 +180,14 @@ function TrainBuildPanel:SetBuildsState()
curObj.OpenLimit:SetActive(true)
curObj.Lock:SetActive(true)
curObj.btnUpgrade:SetActive(false)
-- curObj.btnCancel:SetActive(false)
curObj.btnSpeedUp:SetActive(false)
curObj.levelImg:SetActive(false)
curObj.Name.text=data.dataMain.Name
Util.SetGray(curObj.NameImg,true)
curObj.effect1:SetActive(false)
curObj.updateTime:SetActive(false)
curObj.CanGet:SetActive(false)
curObj.btnDetail:SetActive(data.dataSingle.Position>0)
curObj.trainTime:SetActive(false)
Util.SetParticleSortLayer(curObj.effect1,self.sortingOrder + 1)
Util.SetParticleSortLayer(curObj.effect2,self.sortingOrder + 1)
curObj.BtnsCanvas.overrideSorting = true
@ -237,8 +209,6 @@ function TrainBuildPanel:SetBuildsState()
end
if data.dataSingle then
if data.endTime > GetTimeStamp() then--如果有结束时间说明在升级,可以取消,可以加速
-- curObj.btnCancel:SetActive(true)
curObj.btnSpeedUp:SetActive(true)
curObj.effect1:SetActive(true)
curObj.updateTime:SetActive(true)
curObj.leftTime = data.endTime - GetTimeStamp() >= 0 and data.endTime - GetTimeStamp() or -1
@ -256,12 +226,35 @@ function TrainBuildPanel:SetBuildsState()
LogError("data.heroid====================="..data.heroId)
local heroData=HeroManager.GetSingleHeroData(data.heroId)
curObj.Icon.sprite = self.spLoader:LoadSprite(GetResourcePath(heroData.heroConfig.Icon))
local pos=data.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)
local endTime=data.heroStarTime+math.ceil((max-curValue)/data.dataSingle.Gain)*60
-- if not curObj.OpenLimit.activeInHierarchy then
-- curObj.showTime = data.startTime + 60
-- curObj.CanGet:SetActive(data.startTime + 60 < GetTimeStamp())
-- end
curObj.trainLeftTime=endTime-GetTimeStamp()
LogError("endtime=================================="..endTime.." trainLeftTime=="..curObj.trainLeftTime)
curObj.CanGet:SetActive(true)
PlayUIAnim(curObj.CanGet)
else
curObj.trainLeftTime=-1
end
else
curObj.limitText.text = "暂未开放"
@ -302,12 +295,17 @@ function TrainBuildPanel:SetTime()
end)
end
end
--curObj.CanGet:SetActive(curObj.showTime > 0 and curObj.showTime < GetTimeStamp())
if curObj.showTime > 0 then
--local bool = (GetTimeStamp() - curObj.data.startTime)/60*curObj.data.dataSingle.Gain[2] >= curObj.data.dataSingle.Storage[1][2]
local img = bool and "f_fushengmeni_qipaohuang" or "f_fushengmeni_qipao"
--curObj.CanGet:GetComponent("Image").sprite = self.spLoader:LoadSprite(img)
if curObj.trainLeftTime >= 0 then
LogError("curObj.trainLeftTime==="..curObj.trainLeftTime)
curObj.trainTimeTxt.text = TimeToFelaxible(curObj.trainLeftTime)
curObj.trainLeftTime = curObj.trainLeftTime -1
curObj.trainTime:SetActive(true)
if curObj.trainLeftTime < 0 then
--curObj.effect2:SetActive(true)
curObj.trainTimeTxt.text="已完成"
end
end
end
end, 1, -1, true)

View File

@ -70,12 +70,15 @@ function this:BindEvent()
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)
@ -198,6 +201,7 @@ function this:ShowSingleHero(go,data,index)
end
function this:OnClose()
end
function this:OnDestroy()

View File

@ -7632,6 +7632,9 @@ function NetManager.TrainingRequest(_id,_heroId,_type,_func)
elseif _type==2 then
table.remove(TrainBuildManager.trainHeroId,_heroId)
end
if msg.training then
HeroManager.SetHeroTraining(msg.training)
end
TrainBuildManager.SetBuildInfo(msg.info)
if _func then
_func()