UIPetMySupportView.lua 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. local UIPetMySupportView = require("UIPet/UIPetMySupportView_Generate")
  2. function UIPetMySupportView:OnAwake(data)
  3. self.controller = require("UIPet/UIPetMySupportCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIPetMySupportView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.PET_MY_SUPPORT_CHANGE_NTF, self, self.OnMySupportChangeNtf)
  10. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.PET_MY_SUPPORT_CHANGE_SUCCESS_NTF, self, self.Refresh)
  11. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.UI_PAGE_IN_END_NTF, self, self.OnUIPageInEndNtf)
  12. end
  13. function UIPetMySupportView:FillContent(data, uiBase)
  14. self.uiBase = uiBase
  15. local gameObject = self.uiBase:GetRoot()
  16. if gameObject ~= nil then
  17. self.gameObject = gameObject
  18. self.transform = gameObject.transform
  19. end
  20. self:InitGenerate(self.transform, data)
  21. self:Init()
  22. end
  23. function UIPetMySupportView:Init()
  24. self:InitGrid()
  25. self.controller:RefreshShowDatas()
  26. self.controller:SendMySupport()
  27. end
  28. function UIPetMySupportView:InitGrid()
  29. self.scrollView.loopGridView:InitGridView(0, function(gridView, itemIndex, row, column)
  30. return self:GetItemByRowColumn(gridView, itemIndex, row, column)
  31. end, nil)
  32. end
  33. function UIPetMySupportView:OnUIPageInEndNtf()
  34. --self:Refresh()
  35. end
  36. function UIPetMySupportView:Refresh(resetPos)
  37. self.controller:RefreshShowDatas()
  38. local count = self.controller:GetMySupportCount()
  39. self.count.text.text = count.."/"..Constant.MyPetSupportLimit
  40. local loopGridView = self.scrollView.loopGridView
  41. if resetPos then
  42. loopGridView:RefreshListByIndex(Constant.MyPetSupportLimit, 0)
  43. else
  44. loopGridView:RefreshListByIndex(Constant.MyPetSupportLimit)
  45. end
  46. end
  47. function UIPetMySupportView:GetItemByRowColumn(gridView, itemIndex, row, column)
  48. --local length = self.controller:GetShowDataLength()
  49. --if (itemIndex < 0 or itemIndex >= length) then
  50. -- return nil
  51. --end
  52. local showData = self.controller:GetShowDataByIdx(itemIndex)
  53. local item = gridView:NewListViewItem("SupportItem")
  54. local itemlua = CommonUtil.BindGridViewItem2Lua(self, "SupportItem", item.gameObject)
  55. local data = {id = showData and showData.id or 0, idx = itemIndex + 1}
  56. CommonUtil.UpdateItemPrefab(self, itemlua, data, nil, self, self.OnItemClick)
  57. return item
  58. end
  59. function UIPetMySupportView:OnItemClick(button, params)
  60. local idx = params[0]
  61. local result, time = self.controller:SupportSlotIsInCD(idx)
  62. if result then
  63. ManagerContainer.LuaUIMgr:ErrorNoticeDisplayWithParam("Petfetter_002", time)
  64. else
  65. local data = {fromUIId = self.uiData.id, supportIdx = idx, enterType = Enum.ItemIEnterType.PetSupport}
  66. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPetMats, data)
  67. end
  68. end
  69. function UIPetMySupportView:OnMySupportChangeNtf(data)
  70. local id = data[1]
  71. local idx = data[2]
  72. self.controller:AddSupportData(id or 0, idx)
  73. self.controller:SendMySupport()
  74. end
  75. function UIPetMySupportView:OnItemRemoveClick(button, params)
  76. local id = params[0]
  77. self.controller:RemoveShowDataById(id)
  78. self.controller:SendMySupport()
  79. end
  80. function UIPetMySupportView:RemoveEventListener()
  81. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  82. end
  83. function UIPetMySupportView:AddUIEventListener()
  84. self.uiBase:AddButtonEventListener(self.AnyBtn.button, self, self.OnCloseClick)
  85. self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnCloseClick)
  86. end
  87. function UIPetMySupportView:OnCloseClick()
  88. self:UIClose()
  89. end
  90. function UIPetMySupportView:OnHide()
  91. end
  92. function UIPetMySupportView:OnShow(data)
  93. self.controller:SetData(data)
  94. end
  95. function UIPetMySupportView:OnClose()
  96. end
  97. function UIPetMySupportView:OnDispose()
  98. self.scrollView.loopGridView:Dispose()
  99. self.controller:OnDispose()
  100. end
  101. return UIPetMySupportView