| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- local UIRoleInfoPopView = require("UIRoleMain/UIRoleInfoPopView_Generate")
- function UIRoleInfoPopView:OnAwake(data)
- self.controller = require("UIRoleMain/UIRoleInfoPopCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UIRoleInfoPopView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- end
- function UIRoleInfoPopView:FillContent(data, uiBase)
- self.uiBase = uiBase
- local gameObject = self.uiBase:GetRoot()
- if gameObject ~= nil then
- self.gameObject = gameObject
- self.transform = gameObject.transform
- end
- self:InitGenerate(self.transform, data)
- self:Init()
- end
- function UIRoleInfoPopView:Init()
- self.controller:InitData()
- self.scrollView.loopListView:InitListView(0, function(loopListView, idx)
- return self:GetItemByIndex(loopListView, idx)
- end)
- self:RefreshView(true)
- self.scrollView.loopListView.ScrollRect.enabled = false
- end
- function UIRoleInfoPopView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UIRoleInfoPopView:AddUIEventListener()
- self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnClickCancelBtn)
- self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickCancelBtn)
- end
- function UIRoleInfoPopView:OnHide()
- end
- function UIRoleInfoPopView:OnShow(data)
- if data then
- self.controller:SetData(data)
- self.controller:InitData()
- self:RefreshView(true)
- end
- end
- function UIRoleInfoPopView:OnClose()
- end
- function UIRoleInfoPopView:OnDispose()
- self.scrollView.loopListView:Dispose()
- self.controller:OnDispose()
- end
- function UIRoleInfoPopView:OnPageInEnd()
- self.super.OnPageInEnd(self)
- self.scrollView.loopListView.ScrollRect.enabled = true
- end
- function UIRoleInfoPopView:OnClickCancelBtn()
- self:UIClose()
- end
- function UIRoleInfoPopView:RefreshView(resetPos)
- self.textTitle.text.text = string.formatbykey(self.controller:GetTitleName())
- self.scrollView.loopListView:SetListItemCount(self.controller:GetDataLength(), resetPos or false)
- self.scrollView.loopListView:RefreshAllShownItem()
- end
- function UIRoleInfoPopView:GetItemByIndex(loopListView, idx)
- local data = self.controller:GetDataByIdx(idx + 1)
- if not data then return nil end
- local title = data[2]
- local des = data[3]
- if not title or not des then
- return nil
- end
- local iconName = data[4]
- local item = loopListView:NewListViewItem('InfoDscItem')
- local itemLua = CommonUtil.BindGridViewItem2Lua(self, 'InfoDscItem', item.gameObject)
- if itemLua then
- itemLua.textName.text.text = string.formatbykey(title)
- itemLua.textDsc.text.text = string.formatbykey(des)
- if iconName and iconName ~= '' then
- itemLua.icon:SetActive(true)
- itemLua.icon.image.sprite = nil
- itemLua.icon.image.enabled = false
- CommonUtil.LoadIcon(self, iconName, function(sprite)
- if sprite then
- itemLua.icon.image.sprite = sprite
- itemLua.icon.image.enabled = true
- end
- end)
- else
- itemLua.icon:SetActive(false)
- end
- end
- ManagerContainer.LuaUIMgr:ForceRebuildLayoutImmediate(item.CachedRectTransform)
- return item
- end
- return UIRoleInfoPopView
|