UIPetStampCtr.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. local UIPetStampCtr = class("UIPetStampCtr", require("UICtrBase"))
  2. function UIPetStampCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIPetStampCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIPetStampCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIPetStampCtr:GetData()
  15. return self.data
  16. end
  17. function UIPetStampCtr:RefreshShowDataType()
  18. self.showDatas = self:RefreshStampDatas()
  19. local showDataLength = 0
  20. if self.showDatas then
  21. showDataLength = #self.showDatas
  22. if self.row and self.minColumn then
  23. local curColumn = Mathf.Ceil(showDataLength / self.row) + 2
  24. if curColumn < self.minColumn then
  25. curColumn = self.minColumn
  26. end
  27. showDataLength = curColumn * self.row
  28. end
  29. end
  30. self.showDataLength = showDataLength
  31. end
  32. function UIPetStampCtr:SetGridRowColumn(row, minColumn)
  33. self.row = row
  34. self.minColumn = minColumn
  35. end
  36. function UIPetStampCtr:GetShowDataLength()
  37. return self.showDataLength or 0
  38. end
  39. function UIPetStampCtr:GetShowDataRealLength()
  40. return self.showDatas and #self.showDatas or 0
  41. end
  42. function UIPetStampCtr:GetShowData(itemIndex)
  43. return self.showDatas and self.showDatas[itemIndex + 1] or nil
  44. end
  45. function UIPetStampCtr:RefreshStampDatas()
  46. local maps = ManagerContainer.DataMgr.PetDataMgr.petStampData:GetAllPetStampDataMap()
  47. local runeDatas = {}
  48. for _,v in pairs(maps) do
  49. if v.petId == 0 then
  50. runeDatas[#runeDatas + 1] = v
  51. end
  52. end
  53. CommonUtil.ArraySortSelections(runeDatas, Enum.TableSortRule.Down, "quality", "lv", "cfgId")
  54. return runeDatas
  55. end
  56. function UIPetStampCtr:OnDispose()
  57. self.showDatas = nil
  58. self.data = nil
  59. self.view = nil
  60. end
  61. return UIPetStampCtr