miduo_client/Assets/ManagedResources/~Lua/Modules/HomeLand/HomeLandPanel.lua

549 lines
26 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

local HomeLand = quick_class("HomeLand", BasePanel)
local HomeLandConfig = ConfigManager.GetConfig(ConfigName.HomeLand)
local HomeLandLevel = ConfigManager.GetConfig(ConfigName.HomeLandLevel)
local HomeLandTask = ConfigManager.GetConfig(ConfigName.HomeLandTask)
local GlobalSystemConfig = ConfigManager.GetConfig(ConfigName.GlobalSystemConfig)
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local costStr = string.split(ConfigManager.GetConfigData(ConfigName.SpecialConfig,100).Value,"#")
local bool = false
function HomeLand:InitComponent()
self.spLoader = SpriteLoader.New()
-- if not self.playerInfoView then
-- self.playerInfoView = SubUIManager.Open(SubUIConfig.PlayerInfoView, self.transform)
-- end
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.transform)
self.btnBack = Util.GetGameObject(self.gameObject,"btnBack")
self.map = Util.GetGameObject(self.gameObject,"Map")
self.Grid = Util.GetGameObject(self.map,"Grid")
self.Bg = Util.GetGameObject(self.map,"Bg")
self.Privi = Util.GetGameObject(self.map,"Privi")
self.PriviBtn = Util.GetGameObject(self.map,"goBtn")
self.RightUp = Util.GetGameObject(self.map,"RightUp")
self.RightDown = Util.GetGameObject(self.map,"RightDown")
self.helpBtn = Util.GetGameObject(self.RightUp, "helpBtn")
self.helpPosition=self.helpBtn:GetComponent("RectTransform").localPosition
--privi
self.priviDi = Util.GetGameObject(self.Privi,"di")
self.priviDi:SetActive(false)
self.priviText = Util.GetGameObject(self.Privi,"di/Text"):GetComponent("Text")
--btns
self.taskBtn = Util.GetGameObject(self.RightUp,"Task")
self.taskRed = Util.GetGameObject(self.taskBtn,"redpoint")
self.yunYouBtn = Util.GetGameObject(self.RightUp,"YunYou")
self.oneKey = Util.GetGameObject(self.RightDown,"OneKey")
--产出详情框
self.GainDetail = Util.GetGameObject(self.map,"GainDetail")
self.maskBtn = Util.GetGameObject(self.GainDetail,"mask")
self.Kuang = Util.GetGameObject(self.GainDetail,"Kuang")
self.Btn = Util.GetGameObject(self.GainDetail,"Btn")
self.BtnImage = Util.GetGameObject(self.Btn,"Image")
--progress
self.progress = Util.GetGameObject(self.Kuang,"Progress")
self.helpBtn1 = Util.GetGameObject(self.progress,"Help1")
self.progressPre = Util.GetGameObject(self.progress,"progressPre")
self.preList1 = {}
--detail
self.detail = Util.GetGameObject(self.Kuang,"Detail")
self.helpBtn2 = Util.GetGameObject(self.detail,"Help2")
self.detailPre = Util.GetGameObject(self.detail,"detailPre")
self.preList2 = {}
--地图点信息
self.mapData = {}
for i = 1, 7 do
self.mapData[i] = {}
self.mapData[i].Obj = Util.GetGameObject(self.Bg,"Map ("..i..")")
self.mapData[i].Title = Util.GetGameObject(self.mapData[i].Obj,"Title")
self.mapData[i].levelImg = Util.GetGameObject(self.mapData[i].Title,"levelImg")
self.mapData[i].level = Util.GetGameObject(self.mapData[i].levelImg,"levelText"):GetComponent("Text")
self.mapData[i].NameImg = Util.GetGameObject(self.mapData[i].Title,"NameImg")
self.mapData[i].RedPoint = Util.GetGameObject(self.mapData[i].Title,"redpoint")
self.mapData[i].Lock = Util.GetGameObject(self.mapData[i].Title,"lock")
self.mapData[i].RedPoint:SetActive(false)
self.mapData[i].CanGet = Util.GetGameObject(self.mapData[i].Obj,"CanGet")
self.mapData[i].Icon = Util.GetGameObject(self.mapData[i].Obj,"CanGet/Image"):GetComponent("Image")
self.mapData[i].Btns = Util.GetGameObject(self.mapData[i].Obj,"Btns")
self.mapData[i].BtnsCanvas = self.mapData[i].Btns:GetComponent("Canvas")
self.mapData[i].OpenLimit = Util.GetGameObject(self.mapData[i].Title,"OpenLimit")
self.mapData[i].limitText = Util.GetGameObject(self.mapData[i].OpenLimit,"OpenLimitText"):GetComponent("Text")
self.mapData[i].upgradeImg = Util.GetGameObject(self.mapData[i].Obj,"Updating")
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].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].btnUsePri = Util.GetGameObject(self.mapData[i].Btns,"UsePri")
self.mapData[i].leftTime = -1
self.mapData[i].showTime = -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)
self.mapData[i].effect2:SetActive(false)
end
self.curSelect = 0
end
function HomeLand:BindEvent()
Util.AddClick(self.btnBack, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
--帮助按钮
Util.AddClick(self.helpBtn, function()
UIManager.OpenPanel(UIName.HelpPopup, HELP_TYPE.HomeLand, self.helpPosition.x,self.helpPosition.y)
end)
Util.AddClick(self.Bg, function()
self.curSelect = 0
for j = 1, 5 do
self.mapData[j].Btns:SetActive(false)
end
end)
for i = 1, 5 do
--打开菜单
Util.AddOnceClick(self.mapData[i].Obj,function ()
if self.curSelect ~= i then
for j = 1, 5 do
self.mapData[j].Btns:SetActive(false)
end
self.curSelect = i
if HomeLandManager.BuildData[i].dataMain.IsOpen ~= 1 then
PopupTipPanel.ShowTip(string.format("%s 暂未开放",HomeLandManager.BuildData[i].dataMain.Name))
return
end
if HomeLandConfig[i].UnlockLevel[1] == 2 and HomeLandManager.BuildData[5].level < HomeLandConfig[i].UnlockLevel[2] then
PopupTipPanel.ShowTip(string.format("浮生殿到达%s级开启",HomeLandConfig[i].UnlockLevel[2]))
return
end
self.mapData[i].Btns:SetActive(true)
HomeLandManager.SetButtonPosition(self.mapData[i].Btns)
PlayUIAnim(self.mapData[i].Btns)
end
end)
--打开信息界面
Util.AddOnceClick(self.mapData[i].btnDetail,function ()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.HomeLandBuildingDetail,HomeLandManager.BuildData[i])
end)
--打开升级界面
Util.AddOnceClick(self.mapData[i].btnUpgrade,function ()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.HomeLandUpgrade,{HomeLandManager.BuildData[i],self.mapData[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)
--特权加速
Util.AddOnceClick(self.mapData[i].btnUsePri,function ()
local level = HomeLandManager.BuildData[i].dataSingle.level
NetManager.ArchitectureOperateRequest({HomeLandManager.BuildData[i].dataMain.Id},4,4021,function ()
PrivilegeManager.RefreshPrivilegeUsedTimes(4021,1)
self.mapData[i].leftTime = -1
if level ~= HomeLandManager.BuildData[i].dataSingle.level then
PopupTipPanel.ShowTip(string.format("<color=#00FF00>%s</color>已升级至<color=#00FF00>%s</color>级",HomeLandManager.BuildData[i].dataMain.Name,HomeLandManager.BuildData[i].dataSingle.level))
end
--特效
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)
--取消
-- Util.AddOnceClick(self.mapData[i].btnCancel,function ()
-- NetManager.ArchitectureOperateRequest({HomeLandManager.BuildData[i].dataMain.Id},3,0,function ()
-- self:OnShow()
-- end)
-- end)
end
--建木神树
Util.AddOnceClick(self.mapData[7].Obj,function ()
if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.SACREDTREE) then
UIManager.OpenPanel(UIName.SacredTreePanel)
end
end)
--摘星阁
Util.AddOnceClick(self.mapData[6].Obj,function ()
if HomeLandManager.BuildData[6].dataMain.IsOpen ~= 1 then
PopupTipPanel.ShowTip(string.format("%s 暂未开放",HomeLandManager.BuildData[6].dataMain.Name))
return
end
if HomeLandConfig[6].UnlockLevel[1] == 2 and HomeLandManager.BuildData[5].level < HomeLandConfig[6].UnlockLevel[2] then
PopupTipPanel.ShowTip(string.format("浮生殿到达%s级开启",HomeLandConfig[6].UnlockLevel[2]))
return
end
-- UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.HomeLandEquip)
UIManager.OpenPanel(UIName.HomeLandEquipPopup)
end)
--产出详情框
Util.AddClick(self.maskBtn, function()
bool = false
self.maskBtn:SetActive(bool)
self:SetDetailBar()
end)
Util.AddClick(self.Btn, function()
bool = not bool
self:SetDetailBar()
end)
--一键收获
Util.AddClick(self.oneKey, function()
local time = GetTimeStamp()
local count1 = 0--是否到达可收取的时间
local count2 = 0
for i = 1, 4 do
local curObjData = self.mapData[i].data
-- LogGreen("curObjData:"..tostring(curObjData.dataSingle.Id))
local remainTime = time - curObjData.startTime
if remainTime < 60 then
count1 = count1 + 1--时间不够
end
if curObjData.dataSingle.Storage and curObjData.dataSingle.Storage[2][1] ~= 14 and curObjData.dataSingle.Storage[2][2] <= BagManager.GetTotalItemNum(curObjData.dataSingle.Storage[2][1]) then
count2 = count2 + 1--容量不够
end
end
if count1 == 4 then
PopupTipPanel.ShowTip("当前无资源可收取,请耐心等待~")
return
end
if count2 == 4 then
PopupTipPanel.ShowTip("资源已达储藏上限,无法收获~")
return
elseif count2 == 0 then
--全部都可以收取
else
local thread=coroutine.start(function()
for i = 1, 4 do
local curObjData = self.mapData[i].data
LogRedTable(curObjData.dataSingle.Storage)
if curObjData.dataSingle.Storage and curObjData.dataSingle.Storage[2][1] ~= 14 and curObjData.dataSingle.Storage[2][2]~=0 and curObjData.dataSingle.Storage[2][2] <= BagManager.GetTotalItemNum(curObjData.dataSingle.Storage[2][1]) then
LogError("curObjData.dataSingle.Storage[2][2]=="..curObjData.dataSingle.Storage[2][1].." "..BagManager.GetTotalItemNum(curObjData.dataSingle.Storage[2][1]))
PopupTipPanel.ShowTip(string.format("%s已达储藏上限无法收获~",ItemConfig[curObjData.dataSingle.Storage[2][1]].Name))
end
coroutine.wait(0.1)
end
end)
end
NetManager.HomeAllGainRequset(0,function ()
self:OnShow()
end)
end)
--特权卡
Util.AddClick(self.Privi, function()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.HomeLandPrivilege)
end)
Util.AddClick(self.PriviBtn, function()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.HomeLandPrivilege)
end)
--右侧按钮们
Util.AddClick(self.taskBtn, function()
MonsterCampManager.preType = 5
UIManager.OpenPanel(UIName.TrialRewardPopup,HomeLandManager.SetRewardData(),function(id,rewardFunc)
NetManager.TakeMissionRewardRequest(TaskTypeDef.HomeLandTask,id, function(msg)
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function ()
if rewardFunc then
rewardFunc()
end
end)
end)
end,5)
end)
end
function HomeLand: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 HomeLand: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
--待功能扩展(试图打开某个状态)
function HomeLand:OnOpen()
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.HomeLand })
end
function HomeLand:OnSortingOrderChange()
for i = 1, 7 do
local curObj = self.mapData[i]
Util.SetParticleSortLayer(curObj.effect1,self.sortingOrder + 1)
Util.SetParticleSortLayer(curObj.effect2,self.sortingOrder + 1)
curObj.BtnsCanvas.overrideSorting = true
curObj.BtnsCanvas.sortingOrder = self.sortingOrder + 2
end
SetParticleSortLayer(self.PriviBtn,self.sortingOrder+2)
end
function HomeLand:OnShow()
self.curSelect = 0
for j = 1, 5 do
self.mapData[j].Btns:SetActive(false)
end
HomeLandManager.CheckPrivilege()
self:SetBuildsState()
self:SetTime()
self:InitDetailBar()
self:SetRedPoint()
end
--初始化详细信息列表
function HomeLand:InitDetailBar()
local targetPos = bool and Vector3.zero or Vector3.New(863,-722,0)
self.Kuang:GetComponent("RectTransform").localPosition = targetPos
self.maskBtn:SetActive(bool)
for key, value in pairs(self.preList1) do
value:SetActive(false)
end
for key, value in pairs(self.preList2) do
value:SetActive(false)
end
for i = 1, 7 do
local data = HomeLandManager.BuildData[i]
if data.dataMain.Type == 1 and data.startTime > 0 then
--进度条部分
if data.dataSingle.Gain[1] ~= 14 then
local go = self.preList1[i]
if not go then
go = newObjToParent(self.progressPre,self.progress.transform)
self.preList1[i] = go
end
go:SetActive(true)
local icon = Util.GetGameObject(go,"Icon"):GetComponent("Image")
local num = Util.GetGameObject(go,"Num"):GetComponent("Text")
local slider = Util.GetGameObject(go,"Slide/Image"):GetComponent("Image")
icon.sprite = self.spLoader:LoadSprite(GetSpriteNameByItemId(data.dataSingle.Gain[1]))
local value = data.dataSingle.Storage[2][2]/100000 > 10 and math.floor(data.dataSingle.Storage[2][2]/10000).."" or data.dataSingle.Storage[2][2]
num.text = string.format("%s/%s",BagManager.GetTotalItemNum(data.dataSingle.Storage[2][1]),value)
slider.fillAmount = BagManager.GetTotalItemNum(data.dataSingle.Storage[2][1])/data.dataSingle.Storage[2][2]
end
--数值部分
local go2 = self.preList2[i]
if not go2 then
go2 = newObjToParent(self.detailPre,self.detail.transform)
self.preList2[i] = go2
end
go2:SetActive(true)
local icon = Util.GetGameObject(go2,"Icon"):GetComponent("Image")
local num = Util.GetGameObject(go2,"Num"):GetComponent("Text")
icon.sprite = self.spLoader:LoadSprite(GetSpriteNameByItemId(data.dataSingle.Gain[1]))
local v = ConfigManager.GetConfigData(ConfigName.PrivilegeTypeConfig,4022).Condition[1][2]/10000-1
local priValue = HomeLandManager.activePrivilege and string.format("<color=#00FF00>+%s</color>",math.ceil(data.dataSingle.Gain[2]*v)) or ""
num.text = string.format("%s产量%s %s/分钟",ItemConfig[data.dataSingle.Gain[1]].Name,data.dataSingle.Gain[2],priValue)
end
end
end
--详细信息列表的移动
function HomeLand:SetDetailBar()
self.maskBtn:SetActive(bool)
local targetPos = bool and Vector3.New(216,-722,0) or Vector3.New(863,-722,0)
local rotation = bool and Vector3.New(0,180,0) or Vector3.zero
self.Kuang.transform:DOLocalMove(targetPos, 0.8)
self.BtnImage.transform:DORotate(rotation,0.8)
end
--设置地图内建筑信息
function HomeLand:SetBuildsState()
for i = 1, 7 do
local data = HomeLandManager.BuildData[i]
local curObj = self.mapData[i]
curObj.data = HomeLandManager.BuildData[i]
curObj.OpenLimit:SetActive(true)
curObj.Lock:SetActive(true)
curObj.btnUpgrade:SetActive(false)
-- curObj.btnCancel:SetActive(false)
curObj.btnSpeedUp:SetActive(false)
curObj.btnUsePri:SetActive(false)
curObj.levelImg:SetActive(false)
Util.SetGray(curObj.NameImg,true)
curObj.effect1:SetActive(false)
curObj.updateTime:SetActive(false)
curObj.CanGet:SetActive(false)
Util.SetParticleSortLayer(curObj.effect1,self.sortingOrder + 1)
Util.SetParticleSortLayer(curObj.effect2,self.sortingOrder + 1)
curObj.BtnsCanvas.overrideSorting = true
curObj.BtnsCanvas.sortingOrder = self.sortingOrder + 2
if data.dataMain.IsOpen == 1 then--部分建筑未进入版本显示未开放
--如果主城未到等级,显示开启条件
if HomeLandConfig[i].UnlockLevel[1] == 1 and PlayerManager.level < HomeLandConfig[i].UnlockLevel[2] then
curObj.limitText.text = string.format("玩家等级到达%s级开启",HomeLandConfig[i].UnlockLevel[2])
elseif HomeLandConfig[i].UnlockLevel[1] == 2 and HomeLandManager.BuildData[5].level < HomeLandConfig[i].UnlockLevel[2] then
curObj.limitText.text = string.format("浮生殿到达%s级开启",HomeLandConfig[i].UnlockLevel[2])
elseif HomeLandConfig[i].UnlockLevel[1] == 3 and PlayerManager.level < GlobalSystemConfig[HomeLandConfig[i].UnlockLevel[2]].OpenRules[2] then
curObj.limitText.text = string.format("玩家等级到达%s级开启",GlobalSystemConfig[HomeLandConfig[i].UnlockLevel[2]].OpenRules[2])
else
curObj.OpenLimit:SetActive(false)
curObj.Lock:SetActive(false)
Util.SetGray(curObj.NameImg,false)
if data.dataSingle then
curObj.level.text = string.format("%s级",data.dataSingle.level)
curObj.levelImg:SetActive(true)
end
end
if data.dataSingle then
if data.dataSingle.Gain then--有产出的才需要icon
curObj.Icon.sprite = self.spLoader:LoadSprite(GetSpriteNameByItemId(data.dataSingle.Gain[1]))
if not curObj.OpenLimit.activeInHierarchy then
curObj.showTime = data.startTime + 60
curObj.CanGet:SetActive(data.startTime + 60 < GetTimeStamp())
PlayUIAnim(curObj.CanGet)
end
end
if data.endTime > GetTimeStamp() then--如果有结束时间说明在升级,可以取消,可以加速
-- curObj.btnCancel:SetActive(true)
curObj.btnSpeedUp:SetActive(true)
curObj.btnUsePri:SetActive(PrivilegeManager.GetPrivilegeRemainValue(4021)>0)
curObj.effect1:SetActive(true)
curObj.updateTime:SetActive(true)
curObj.leftTime = data.endTime - GetTimeStamp() >= 0 and data.endTime - GetTimeStamp() or -1
curObj.updateTimeText.text = TimeToFelaxible(curObj.leftTime)
curObj.timeSlide.fillAmount = (data.dataSingle.Time-curObj.leftTime)/data.dataSingle.Time
-- PlayUIAnim(curObj.upgradeImg)
else--如果没有就是可以点击升级
if data.dataSingle.Cost then
-- LogGreen("Name:"..tostring(data.dataSingle.Name).." cost:"..tostring(data.dataSingle.Cost[1][1]).."#"..data.dataSingle.Cost[1][2])
curObj.btnUpgrade:SetActive(true)
end
end
end
else
curObj.limitText.text = "暂未开放"
end
Util.AddOnceClick(curObj.CanGet,function ()
if data.dataSingle.Storage[2][1] ~= 14 and data.dataSingle.Storage[2][2] <= BagManager.GetTotalItemNum(data.dataSingle.Storage[2][1]) then
PopupTipPanel.ShowTip("当前资源已达库存上限,提升建筑等级可增加库存上限!")
return
end
NetManager.HomeAllGainRequset(data.dataMain.Id,function ()
self:OnShow()
end)
end)
end
end
--时间
function HomeLand:SetTime()
if self.timer then
self.timer:Stop()
self.timer = nil
end
Util.SetGray(self.Privi,not HomeLandManager.activePrivilege)
self.timer = Timer.New(function ()
for i = 1, 7 do
local curObj = self.mapData[i]
curObj.updateTime:SetActive(curObj.leftTime >= 0)
if curObj.leftTime >= 0 then
curObj.updateTimeText.text = TimeToFelaxible(curObj.leftTime)
curObj.leftTime = curObj.leftTime -1
curObj.timeSlide.fillAmount = (curObj.data.dataSingle.Time-curObj.leftTime)/curObj.data.dataSingle.Time
if curObj.leftTime < 0 then
curObj.effect2:SetActive(true)
NetManager.HomeInfoRequest(function ()
self:OnShow()
if UIManager.IsOpen(UIName.MsgPanel) then
UIManager.ClosePanel(UIName.MsgPanel)
end
PopupTipPanel.ShowTip(string.format("<color=#00FF00>%s</color>已升级至<color=#00FF00>%s</color>级",curObj.data.dataMain.Name,curObj.data.dataSingle.level))
Timer.New(function ()
curObj.effect2:SetActive(false)
end,1):Start()
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)
end
end
self.priviDi:SetActive(HomeLandManager.activePrivilege)
self.PriviBtn:SetActive(not HomeLandManager.activePrivilege)
Util.SetGray(self.Privi,not HomeLandManager.activePrivilege)
local leftTime = PrivilegeManager.GetPrivilegeLeftTimeById(4022)
self.priviText.text= Language[10469]..GetLeftTimeStrByDeltaTime(leftTime)
--self.priviText.text = string.format("今日剩余:%s",HomeLandManager.priviLeftTime)
end, 1, -1, true)
self.timer:Start()
end
function HomeLand:SetRedPoint()
for i = 1, 5 do
self.mapData[i].RedPoint:SetActive(HomeLandManager.singleGet(i) or HomeLandManager.singleUpgrade(i))
self.mapData[i].upGradeRed:SetActive(HomeLandManager.singleUpgrade(i))
end
self.mapData[6].RedPoint:SetActive(HomeLandManager.CheckEquipUpgrade())
self.taskRed:SetActive(HomeLandManager.CheckMission())
end
function HomeLand:OnClose()
self.curSelect = 0
bool = false
for j = 1, 5 do
self.mapData[j].Btns:SetActive(false)
end
end
function HomeLand:OnDestroy()
self.spLoader:Destroy()
SubUIManager.Close(self.UpView)
self.UpView = nil
if self.timer then
self.timer:Stop()
self.timer = nil
end
-- if self.playerInfoView then
-- SubUIManager.Close(self.playerInfoView)
-- self.playerInfoView = nil
-- end
end
return HomeLand