123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- ---@class KLShapeShiftCardAwardPanel:UIKmlLuaPanelBase
- ---@field view KLShapeShiftCardAwardPanelView
- local KLShapeShiftCardAwardPanel = class(UIKmlLuaPanelBase)
- local this = KLShapeShiftCardAwardPanel
- function this:AsyncLoadUI()
- end
- ---创建时调用一次
- function this:Init()
- self.Awards = {}
- self.closeTime = 3
- GUI:DataListInitData(self.view.rewards_mid,
- function()
- return table.count(self.info)
- end,
- function(realIndex)
- return self:DataListItemGetFunc_1(realIndex)
- end,
- nil,
- function(realIndex, kmlcontrol)
- return self:DataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- GUI:DataListInitData(self.view.rewards_left,
- function()
- return table.count(self.info)
- end,
- function(realIndex)
- return self:DataListItemGetFunc_2(realIndex)
- end,
- nil,
- function(realIndex, kmlcontrol)
- return self:DataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- if not self.info then
- self.info = {}
- end
- for _, v in pairs(self.args) do
- self.info[#self.info + 1] = v
- end
- if #self.info > 3 then
- GUI:setVisible(self.view.scrollview_left, true)
- GUI:setVisible(self.view.scrollview_mid, false)
- GUI:DataListUpdateData(self.view.rewards_left)
- self.itemBindRoot = self.view.rewards_left
- else
- GUI:setVisible(self.view.scrollview_left, false)
- GUI:setVisible(self.view.scrollview_mid, true)
- GUI:DataListUpdateData(self.view.rewards_mid)
- self.itemBindRoot = self.view.rewards_mid
- end
- --到达时间后关闭
- SL:ScheduleOnce(self.closeTime, function()
- self:ClosePanle()
- end)
- end
- function this:DataListItemGetFunc_1()
- local item = GUI:UIPanel_Open("dev/outui/ShapeShiftCard/Item/KLShapeShiftCard/KLShapeShiftCardItem", self.view.rewards_mid, self, { type = E_ShapeShiftCardFuncType.House }, true)
-
- local kmlCtrl = item.view.root
- self.Awards[kmlCtrl] = item
- return kmlCtrl
- end
- function this:DataListItemGetFunc_2()
- local item = GUI:UIPanel_Open("dev/outui/ShapeShiftCard/Item/KLShapeShiftCard/KLShapeShiftCardItem", self.view.rewards_left, self, { type = E_ShapeShiftCardFuncType.House }, true)
-
- local kmlCtrl = item.view.root
- self.Awards[kmlCtrl] = item
- return kmlCtrl
- end
- function this:DataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.info[realIndex + 1]
- local item = self.Awards[kmlcontrol]
- item:RefreshAwardItem(data)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.CloseBG, self, self.ClosePanle)
- end
- function this:ClosePanle()
- GUI:UIPanel_Close("dev/outui/ShapeShiftCard/Panel/KLShapeShiftCardAward/KLShapeShiftCardAwardPanel")
- end
- function this:SetTitle()
- GUI:Image_loadTexture(self.view.title, "title_Reward", "Atlas/UIMisc.spriteatlas")
- end
- function this:Close()
- self.info = {}
- self.Awards = {}
- end
- return this
|