159 lines
5.2 KiB
Plaintext
159 lines
5.2 KiB
Plaintext
MainViewPolyFightPage = class("MainViewPolyFightPage",SubView)
|
||
|
||
local tempVector3 = LuaVector3.zero
|
||
|
||
MainViewPolyFightPage.CointItemId = 157
|
||
-- MainViewPolyFightPage.CointItemId = 110
|
||
|
||
function MainViewPolyFightPage:Init()
|
||
self:AddViewEvts()
|
||
self:initView()
|
||
self:initData()
|
||
self:resetData()
|
||
end
|
||
|
||
function MainViewPolyFightPage:resetData( )
|
||
self.player_num = nil
|
||
self.starttime = nil
|
||
self.score = 0
|
||
self.tickMg:ClearTick(self)
|
||
end
|
||
|
||
function MainViewPolyFightPage:initData( )
|
||
-- body
|
||
local pvpCg = GameConfig.PVPConfig and GameConfig.PVPConfig[4] or nil
|
||
self.totalTime = pvpCg and pvpCg.Time or 300
|
||
self.personLimit = pvpCg and pvpCg.PeopleLimit or 10
|
||
self.tickMg = TimeTickManager.Me()
|
||
self.score = 0
|
||
end
|
||
|
||
function MainViewPolyFightPage:Show( tarObj )
|
||
MainViewPolyFightPage.super.Show(self,tarObj)
|
||
if(not tarObj)then
|
||
self:SetData()
|
||
end
|
||
end
|
||
|
||
function MainViewPolyFightPage:Hide( tarObj )
|
||
MainViewPolyFightPage.super.Hide(self,tarObj)
|
||
if(not tarObj)then
|
||
self:resetData()
|
||
end
|
||
end
|
||
|
||
function MainViewPolyFightPage:SetData( )
|
||
-- body
|
||
local fightInfo = PvpProxy.Instance:GetFightStatInfo()
|
||
if(fightInfo.player_num ~= self.player_num )then
|
||
self.player_num = fightInfo.player_num
|
||
self.curPersonNum.text = string.format(ZhString.MainViewPolyFightPage_CurPersonNum,
|
||
fightInfo.player_num,
|
||
self.personLimit)
|
||
end
|
||
-- self:setScoreLabelX()
|
||
if(fightInfo.starttime ~= self.starttime)then
|
||
self.starttime = fightInfo.starttime
|
||
self.tickMg:ClearTick(self)
|
||
self.tickMg:CreateTick(0,500,self.updatePvpTime,self)
|
||
end
|
||
|
||
if(fightInfo.score ~= self.score)then
|
||
self.score = fightInfo.score
|
||
local str = ZhString.MainViewPolyFightPage_GoldAppleNum
|
||
self.applCount:Reset()
|
||
str = string.format(str,self.score,MainViewPolyFightPage.CointItemId)
|
||
self.applCount:SetText(str,true)
|
||
end
|
||
|
||
local str = ZhString.MainViewPolyFightPage_MyRank
|
||
local myRank = fightInfo.myrank or "?"
|
||
self.myRank.text = string.format(str,myRank)
|
||
self:updateRankChangeCCmd()
|
||
end
|
||
|
||
function MainViewPolyFightPage:initView( )
|
||
-- body
|
||
self.gameObject = self:FindGO("PolyFightInfoBord")
|
||
self.name = self:FindComponent("Title",UILabel)
|
||
self.name.text = ZhString.MainViewPolyFightPage_Title
|
||
self.curPersonNum = self:FindComponent("curPersonNum",UILabel)
|
||
self.myRank = self:FindComponent("myRank",UILabel)
|
||
self.progressLabel = self:FindComponent("progressLabel",UILabel)
|
||
self.applCount = SpriteLabel.CreateAsTable()
|
||
self.goldAppleNum = self:FindComponent("goldAppleNum",UIRichLabel)
|
||
self.applCount:Init(self.goldAppleNum,nil,30,30,true)
|
||
self.progressSlider = self:FindComponent("progress",UISlider)
|
||
self.firstName = self:FindComponent("firstName",UILabel)
|
||
self.secondName = self:FindComponent("secondName",UILabel)
|
||
self.thirdName = self:FindComponent("thirdName",UILabel)
|
||
self.rankLabels = {self.firstName,self.secondName,self.thirdName}
|
||
self.bg = self:FindComponent("bg",UISprite)
|
||
self.content = self:FindGO("content")
|
||
self.bgSizeX = self.bg.width
|
||
end
|
||
|
||
function MainViewPolyFightPage:AddViewEvts()
|
||
self:AddListenEvt(ServiceEvent.MatchCCmdNtfFightStatCCmd, self.HandleMatchCCmdNtfFightStatCCmd)
|
||
self:AddListenEvt(ServiceEvent.MatchCCmdNtfRankChangeCCmd, self.updateRankChangeCCmd)
|
||
-- self:AddListenEvt(ItemEvent.ItemUpdate,self.ItemUpdate)
|
||
end
|
||
|
||
function MainViewPolyFightPage:ItemUpdate( )
|
||
-- local num = BagProxy.Instance:GetItemNumByStaticID(MainViewPolyFightPage.CointItemId) or 0
|
||
-- local str = ZhString.MainViewPolyFightPage_GoldAppleNum
|
||
-- self.applCount:Reset()
|
||
-- str = string.format(str,num,MainViewPolyFightPage.CointItemId)
|
||
-- self.applCount:SetText(str,true)
|
||
end
|
||
|
||
function MainViewPolyFightPage:HandleMatchCCmdNtfFightStatCCmd( note )
|
||
-- body
|
||
self:SetData()
|
||
end
|
||
|
||
function MainViewPolyFightPage:setScoreLabelX( )
|
||
-- body
|
||
-- local bd = NGUIMath.CalculateRelativeWidgetBounds(self.scoreLabel.transform,true)
|
||
-- local width = bd.size.x
|
||
-- local x,y1,z = LuaGameObject.GetLocalPosition(self.scoreLabel.transform)
|
||
-- tempVector3:Set((self.bgSizeX - width)/2,y1,z)
|
||
-- self.scoreLabel.transform.localPosition = tempVector3
|
||
|
||
-- x,y,z = LuaGameObject.GetLocalPosition(self.coinCountLable.transform)
|
||
-- tempVector3:Set(x,y1 - self.scoreLabel.height - 5,z)
|
||
-- self.coinCountLable.transform.localPosition = tempVector3
|
||
|
||
end
|
||
|
||
-- function MainViewPolyFightPage:resizeContent( )
|
||
-- -- body
|
||
-- local bd = NGUIMath.CalculateRelativeWidgetBounds(self.content.transform,true)
|
||
-- local height = bd.size.y
|
||
-- self.bg.height = height +20
|
||
-- end
|
||
|
||
function MainViewPolyFightPage:updateRankChangeCCmd( )
|
||
local fightInfo = PvpProxy.Instance:GetFightStatInfo()
|
||
for i=1,3 do
|
||
local label = self.rankLabels[i]
|
||
local data = fightInfo.ranks and fightInfo.ranks[i] or nil
|
||
label.text = data and data.name or "???"
|
||
end
|
||
end
|
||
|
||
function MainViewPolyFightPage:updatePvpTime( )
|
||
local pastTime = ServerTime.CurServerTime()/1000 - self.starttime;
|
||
local leftTime = self.totalTime - pastTime
|
||
if(leftTime < 0)then
|
||
leftTime = 0
|
||
self.tickMg:ClearTick(self)
|
||
end
|
||
leftTime = math.floor(leftTime)
|
||
|
||
local m = math.floor(leftTime / 60)
|
||
local sd = leftTime - m*60
|
||
local leftTimeStr = string.format("%02d:%02d",m,sd)
|
||
self.progressLabel.text = leftTimeStr
|
||
self.progressSlider.value = leftTime/self.totalTime
|
||
end |