---@class KLAthleticsItem:UIKmlLuaPanelBase ---@field view KLAthleticsItemView local KLAthleticsItem = class(UIKmlLuaPanelBase) local this =KLAthleticsItem ---创建时调用一次 function this:Init() end ---注册UI事件和服务器消息 function this:RegistEvents() end ---创建或者刷新界面数据时调用 function this:Refresh() end function this:UpdateUI(data,ranking_id) self.data = data self.ranking_id = ranking_id local name,state = InfoManager.openServerInfo:GetRankNameBySort(data.taskType,data.sort,1) self.mystate = state --GUI:Text_setString(self.view.textid,tostring(data.index)) GUI:Text_setString(self.view.name,name) GUI:Text_setString(self.view.textsort, tostring(data.sort)) ---排名 GUI:setVisible(self.view.textsort,data.sort > 3) GUI:setVisible(self.view.imgsort,data.sort <= 3) if data.sort <= 3 then GUI:Image_loadTexture(self.view.imgsort,"sort_"..data.sort ,"Atlas/TS_OpenServerPanel.spriteatlas") end ---已领取状态 GUI:setVisible(self.view.ReciveImg,state == 2) ---可领取状态 GUI:setVisible(self.view.HighlightImg,state == 1) self.rewardInfos = data.taskReward GUI:DataListInitData(self.view.rewards_data, function() return table.count(self.rewardInfos) end, function(realIndex) return self:DataListItemGetFunc(realIndex) end, function(realIndex, kmlcontrol) return self:DataListItemInitFunc(realIndex, kmlcontrol) end, function(realIndex, kmlcontrol) return self:DataListItemUpdateFunc(realIndex, kmlcontrol) end) GUI:DataListUpdateData(self.view.rewards_data) end function this:DataListItemGetFunc(realIndex) end function this:DataListItemInitFunc(realIndex, kmlcontrol) end function this:DataListItemUpdateFunc(realIndex, kmlcontrol) local data = self.rewardInfos[realIndex+1] local item = self.view.rewards_data:GetChildControl(realIndex, "item") local count = ""..SL:GetSimpleNumber(tonumber(data[2]),0).."" GUI:AddOnClickEvent(item,self,function() if self.mystate ~=2 then if self.mystate==1 then SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_OPEN_SERVER_ACT_RANK_REWARD,{goalValue = self.data.taskType,rankType = self.ranking_id }) else SL:OpenTips(nil, data[1]) end end end) GUI:Item_UpdataData(item, { itemid = data[1], itemcustomcount = count, }) end function this:Close() end return this