123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- ---@class KLOpenServerAthleticsRankingItem:UIKmlLuaPanelBase
- ---@field view KLOpenServerAthleticsRankingItemView
- local KLOpenServerAthleticsRankingItem = class(UIKmlLuaPanelBase)
- local this =KLOpenServerAthleticsRankingItem
- ---创建时调用一次
- function this:Init()
- self.RankItemList={}
- self.careerId = SL:GetMetaValue(EMetaVarGetKey.JOB)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- end
- ---界面显示时调用一次
- function this:Show()
-
- end
- function this:UpdateUI(Rank,ShowDataRankTbl,ShowDataRankList,BtnSelectIndex)
- local rankNumberBg = self.view.rankNumberBg
- local rankNumberText = self.view.rankNumberText
- local HeadIcon = self.view.HeadIcon
- local PlayerName = self.view.PlayerName
- local TextTitle = self.view.TextTitle
- local layout23 = self.view.layout23
- if Rank <= 3 then
- GUI:SetActive(rankNumberBg, true)
- GUI:SetActive(rankNumberText, false)
- GUI:Image_loadTexture(rankNumberBg, "img_no" .. Rank, "Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
- else
- GUI:SetActive(rankNumberBg, false)
- GUI:SetActive(rankNumberText, true)
- GUI:Text_setString(rankNumberText, tostring(Rank))
- end
-
- GUI:SetActive(HeadIcon,false)
- GUI:Text_setString(PlayerName, "")
- GUI:Text_setString(TextTitle, "虚位以待")
-
- if ShowDataRankList[Rank] then
- GUI:SetActive(HeadIcon,true)
- self:SetHeadIconByCareerId(HeadIcon, ShowDataRankList[Rank].job)
- local desc = InfoManager.openServerAthleticsInfo.openSerCompetitionTypeTbl[BtnSelectIndex].desc
- GUI:Text_setString(TextTitle, desc[3]..":<color=#5DE367>"..GUIUtil.GetSampleNumberString(ShowDataRankList[Rank].num).. "</color>")
- GUI:Text_setString(PlayerName, ShowDataRankList[Rank].name)
- end
- for i, v in pairs(ShowDataRankTbl[Rank].rankReward) do
- if v[1] == self.careerId or v[1] == 0 then
- local itemId = v[2]
- local count = v[3]
- local data = {
- width = "70",
- height = "70",
- itemid = itemId,
- mfixsize = "70,70",
- tips = "1",
- itemcustomcount = count
- }
- if self.RankItemList[i]then
- GUI:Item_UpdataData(self.RankItemList[i], data)
- else
- local item = GUI:Item_Create(layout23, data)
- self.RankItemList[i] = item
- end
- GUI:AddOnClickEvent(self.RankItemList[i], self, function()
- SL:OpenTips(nil, itemId)
- end)
- end
- end
- if self.RankTimer then
- SL:UnSchedule(self.RankTimer)
- end
- self.RankTimer=nil
- local rankLimitData = InfoManager.openServerAthleticsInfo.openSerCompetitionTypeTbl[BtnSelectIndex].rankSettlementTime - 1
- local reRankTime = SL:GetEndTimeStamp(tonumber(rankLimitData), 0)
- if reRankTime - Time.GetServerTime() >= 0 then
- self.RankTimer = SL:Schedule(self.RankTimer, 0, 1, -1, function()
- local timeText = reRankTime - Time.GetServerTime()
- GUI:SetActive(self.view.YU, true)
- if timeText <= 0 then
- GUI:SetActive(self.view.YU, false)
- if self.RankTimer then
- SL:UnSchedule(self.RankTimer)
- end
- return
- end
- end)
- else
- GUI:SetActive(self.view.YU, false)
- end
- end
- function this:SetHeadIconByCareerId(HeadIcon, CareerId)
- if CareerId == 1 then
- GUI:Image_loadTexture(HeadIcon, "11", "Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
- elseif CareerId == 2 then
- GUI:Image_loadTexture(HeadIcon, "12", "Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
- elseif CareerId == 3 then
- GUI:Image_loadTexture(HeadIcon, "13", "Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
- end
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- end
- function this:Close()
- if self.RankTimer then
- SL:UnSchedule(self.RankTimer)
- end
- self.RankTimer=nil
- end
- return this
|