UIFruitUseCtr.lua 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. local UIFruitUseCtr = class("UIFruitUseCtr", require("UICtrBase"))
  2. local sortedPartnerDatas
  3. function UIFruitUseCtr:Init(view)
  4. self.view = view
  5. end
  6. function UIFruitUseCtr:SetData(data)
  7. self.asyncIdx = 0
  8. if data == nil then return end
  9. self.data = data
  10. end
  11. function UIFruitUseCtr:GetSlotSortPartnerDatas()
  12. local partnerDatas = ManagerContainer.DataMgr.PartnerData:GetPartnerDatas()
  13. sortedPartnerDatas = {}
  14. for _,v in pairs(partnerDatas) do
  15. sortedPartnerDatas[#sortedPartnerDatas + 1] = v
  16. end
  17. table.sort(sortedPartnerDatas, function (a, b)
  18. if a.owned and b.owned then
  19. return a.post < b.post
  20. else
  21. if a.owned and not b.owned then
  22. return true
  23. elseif not a.owned and b.owned then
  24. return false
  25. else
  26. return a.post < b.post
  27. end
  28. end
  29. end)
  30. return sortedPartnerDatas
  31. end
  32. function UIFruitUseCtr:GetHeroDataIndex(heroid)
  33. for k, v in pairs(sortedPartnerDatas) do
  34. if v.id == heroid then
  35. return k
  36. end
  37. end
  38. return 0
  39. end
  40. function UIFruitUseCtr:GetAsyncIdx()
  41. self.asyncIdx = self.asyncIdx + 1
  42. return self.asyncIdx
  43. end
  44. function UIFruitUseCtr:GetData()
  45. return self.data
  46. end
  47. function UIFruitUseCtr:OnDispose()
  48. self.data = nil
  49. self.view = nil
  50. end
  51. return UIFruitUseCtr