UIMaterialsTipsView.lua 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. local UIMaterialsTipsView = require("UICollect/UIMaterialsTipsView_Generate")
  2. function UIMaterialsTipsView:OnAwake(data)
  3. self.controller = require("UICollect/UIMaterialsTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIMaterialsTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UIMaterialsTipsView:FillContent(data, uiBase)
  11. self.uiBase = uiBase
  12. local gameObject = self.uiBase:GetRoot()
  13. if gameObject ~= nil then
  14. self.gameObject = gameObject
  15. self.transform = gameObject.transform
  16. end
  17. self:InitGenerate(self.transform, data)
  18. self:Init()
  19. end
  20. function UIMaterialsTipsView:Init()
  21. self.controller:GetAllMaterialDatas()
  22. self:InitGrid()
  23. end
  24. function UIMaterialsTipsView:OnPageInEnd()
  25. self.super.OnPageInEnd(self)
  26. self:RefreshGrid()
  27. end
  28. function UIMaterialsTipsView:RefreshGrid()
  29. local loopGridView = self.mats.loopGridView
  30. local length = self.controller:GetShowDataLength()
  31. self.mats:SetActive(length > 0)
  32. self.noPets:SetActive(length == 0)
  33. loopGridView:RefreshListByIndex(length, 0)
  34. end
  35. function UIMaterialsTipsView:InitGrid()
  36. self.mats.loopGridView:InitGridView(0, function(gridView, itemIndex, row, column)
  37. return self:GetItemByRowColumn(gridView, itemIndex, row, column)
  38. end, nil)
  39. end
  40. function UIMaterialsTipsView:GetItemByRowColumn(gridView, itemIndex, row, column)
  41. local showData = self.controller:GetShowDataItem(itemIndex)
  42. local item = nil
  43. if showData then
  44. item = gridView:NewListViewItem('IconItem')
  45. local itemlua = CommonUtil.BindGridViewItem2Lua(self, 'IconItem', item.gameObject)
  46. CommonUtil.UpdateItemPrefab(self, itemlua, showData, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
  47. else
  48. item = gridView:NewListViewItem('IconEmptyItem')
  49. end
  50. return item
  51. end
  52. function UIMaterialsTipsView:ShowItemTips(button, params)
  53. local data = params[0]
  54. ManagerContainer.LuaUIMgr:OpenTips(data)
  55. end
  56. function UIMaterialsTipsView:RemoveEventListener()
  57. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  58. end
  59. function UIMaterialsTipsView:AddUIEventListener()
  60. self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnCloseClick)
  61. self.uiBase:AddButtonEventListener(self.AnyBtn.button, self, self.OnCloseClick)
  62. end
  63. function UIMaterialsTipsView:OnCloseClick()
  64. self:UIClose()
  65. end
  66. function UIMaterialsTipsView:OnHide()
  67. end
  68. function UIMaterialsTipsView:OnShow(data)
  69. self.controller:SetData(data)
  70. end
  71. function UIMaterialsTipsView:OnClose()
  72. self.mats.loopGridView:Dispose()
  73. end
  74. function UIMaterialsTipsView:OnDispose()
  75. self.controller:OnDispose()
  76. end
  77. return UIMaterialsTipsView