---@class KLBuffInfoItem:UIKmlLuaPanelBase ---@field view KLBuffInfoItemView ---@field args Buff local KLBuffInfoItem = class(UIKmlLuaPanelBase) ---创建时调用一次 function KLBuffInfoItem:Init() end ---创建或者刷新界面数据时调用 function KLBuffInfoItem:Refresh() ---@type cfg_buff_column local buffTbl = SL:GetConfig("cfg_buff",self.args.cfgId) local leftTime = self.args.endTime - Time.GetServerTime() local buffTotalTime = buffTbl.buffTotalTime > 0 and buffTbl.buffTotalTime or leftTime local startper = leftTime/buffTotalTime * 100 leftTime = math.floor(leftTime / 1000) startper = math.floor(startper) if buffTbl then GUI:Image_loadTexture(self.view.control_circlebar,buffTbl.showIcon,"Atlas/Buff_icon.spriteatlas") end GUI:SetControl_time(self.view.control_circlebar,leftTime) GUI:SetCirclebar_startper(self.view.control_circlebar,startper) if self.args.bufferLayer and tonumber(self.args.bufferLayer) > 1 then GUI:Text_setString(self.view.text_layer,tostring(self.args.bufferLayer)) else GUI:Text_setString(self.view.text_layer,"") end local panel = GUI:GetUI("dev/ui/MainUI/Panel/KLUIBuffInfo/KLUIBuffInfoPanel") if panel then panel.args = self.args panel:Refresh() end end ---注册UI事件和服务器消息 function KLBuffInfoItem:RegistEvents() GUI:AddOnClickEvent(self.view.control_circlebar,self,self.OnClickBtn) end function KLBuffInfoItem:OnClickBtn() GUI:UIPanel_Open("dev/ui/MainUI/Panel/KLUIBuffInfo/KLUIBuffInfoPanel",nil,nil,self.args) end function KLBuffInfoItem:Close() GUI:UIPanel_Close("dev/ui/MainUI/Panel/KLUIBuffInfo/KLUIBuffInfoPanel") end return KLBuffInfoItem