2025-06-04 05:02:57 +08:00

135 lines
4.0 KiB
Plaintext

autoImport("GvgFinalRankCell")
autoImport("SuperGvgProxy")
MainviewGvgFinalPage = class("MainviewGvgFinalPage",SubMediatorView)
local tempVector3 = LuaVector3.zero
function MainviewGvgFinalPage:Init()
self:ReLoadPerferb("view/MainviewGvgFinalPage");
self:initView()
self:AddViewEvts()
self:initData()
end
function MainviewGvgFinalPage:initData( )
-- body
local secDiff = SuperGvgProxy.Instance:GetFinalFightTimeDiff()
if secDiff < 0 then
self.hasWarStart = true
else
self.hasWarStart = false
end
self.warStartCoundDown = secDiff
self.warStartedTime = -secDiff
local infos = SuperGvgProxy.Instance:GetGuildInfos()
self.rankCtGridCells:ResetDatas(infos)
self:UpdateCrystalPieces(infos)
if(self.tickMg)then
self.tickMg:ClearTick(self)
else
self.tickMg = TimeTickManager.Me()
end
self.tickMg:CreateTick(0,1000,self.updateCountTime,self)
IconManager:SetItemIcon("item_700104", self.piecesSliderBg)
IconManager:SetItemIcon("item_700104", self.piecesSliderFront)
end
function MainviewGvgFinalPage:SetData( )
end
function MainviewGvgFinalPage:ResetParent( parent )
self.trans:SetParent(parent.transform,false)
end
function MainviewGvgFinalPage:initView( )
-- body
self.timeLabel = self:FindComponent("timeLabel",UILabel)
self.piecesSliderBg = self:FindComponent("piecesSliderBg",UISprite)
self.piecesSliderFront = self:FindComponent("piecesSliderFront",UISprite)
local Title = self:FindComponent("Title",UILabel)
Title.text = ZhString.MainviewGvgFinalPage_Title
local timeDes = self:FindComponent("timeDes",UILabel)
timeDes.text = ZhString.MainviewGvgFinalPage_TimeDes
local rankCtGrid = self:FindComponent("topRankCt",UITable)
self.piecesSlider = self:FindComponent("piecesSlider",UISlider)
self.rankCtGridCells = UIGridListCtrl.new(rankCtGrid,GvgFinalRankCell,"GvgFinalRankCell")
local clickBox = self:FindGO("taskBordFoldSymbol")
self:AddClickEvent(clickBox,function ( go )
GameFacade.Instance:sendNotification(UIEvent.ShowUI,{viewname = "GVGDetailView"})
end)
end
function MainviewGvgFinalPage:AddViewEvts()
EventManager.Me():AddEventListener(ServiceEvent.FuBenCmdGvgCrystalUpdateFubenCmd, self.UpdateCrystal, self);
end
function MainviewGvgFinalPage:resizeContent( )
-- body
-- if(not self.container.gameObject.activeInHierarchy)then
-- return
-- end
-- local bd = calSize(self.content.transform,false)
-- local height = bd.size.y
-- self.bg.height = height+10
-- local x,y,z = getLocalPos(self.GvgHonorTraceInfo.transform)
-- local x1,y1,z1 = getLocalPos(self.bg.transform)
-- tempVector3:Set(x,y1 - height - 20,z)
-- self.GvgHonorTraceInfo.transform.localPosition = tempVector3
end
function MainviewGvgFinalPage:updateCountTime( )
-- self:resizeContent()
local leftTime = 0
if(self.hasWarStart)then
self.warStartedTime = self.warStartedTime + 1
leftTime = self.warStartedTime
else
self.warStartCoundDown = self.warStartCoundDown - 1
leftTime = self.warStartCoundDown
if self.warStartCoundDown == 0 then
self.hasWarStart = true
self.warStartedTime = 0
end
end
local m = math.floor(leftTime / 60)
local s = leftTime - m*60
local time = string.format(ZhString.MainViewGvgPage_LeftTime,m,s)
-- helplog("time:",time)
self.timeLabel.text = time
end
function MainviewGvgFinalPage:UpdateCrystal()
local infos = SuperGvgProxy.Instance:GetGuildInfos()
self.rankCtGridCells:ResetDatas(infos)
self:UpdateCrystalPieces(infos)
end
function MainviewGvgFinalPage:UpdateCrystalPieces(infos)
local guildData = GuildProxy.Instance.myGuildData;
for i=1,#infos do
if(guildData.guid == infos[i].guildid) then
if(self.piecesSlider~=nil and infos[i].crystalData.chipnum~=nil)then
value = math.floor(infos[i].crystalData.chipnum)/4;
self.piecesSlider.value = value;
else
self.piecesSlider.value = 0;
end
end
end
end
function MainviewGvgFinalPage:OnExit( )
-- body
self.tickMg:ClearTick(self)
self.tickMg = nil
EventManager.Me():RemoveEventListener(ServiceEvent.FuBenCmdGvgCrystalUpdateFubenCmd, self.UpdateCrystal, self);
-- helplog("ewGvgFinalPage:OnExit:")
end