UIPetMySupportCtr.lua 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. local UIPetMySupportCtr = class("UIPetMySupportCtr", require("UICtrBase"))
  2. function UIPetMySupportCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIPetMySupportCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIPetMySupportCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIPetMySupportCtr:GetData()
  15. return self.data
  16. end
  17. function UIPetMySupportCtr:RefreshShowDatas()
  18. self.showDatas = ManagerContainer.DataMgr.PetDataMgr:GetMySupportPets()
  19. CommonUtil.ArraySortListSelections(self.showDatas, {Enum.TableSortRule.Down, Enum.TableSortRule.Up}, {"id", "cd"})
  20. self.supportCount = 0
  21. for i = 1, Constant.MyPetSupportLimit do
  22. if self.showDatas[i] and self.showDatas[i].id > 0 then
  23. self.supportCount = self.supportCount + 1
  24. end
  25. end
  26. end
  27. function UIPetMySupportCtr:GetShowDatas()
  28. return self.showDatas
  29. end
  30. function UIPetMySupportCtr:GetMySupportCount()
  31. return self.supportCount
  32. end
  33. function UIPetMySupportCtr:GetShowDataLength()
  34. return self.showDatas and #self.showDatas or 0
  35. end
  36. function UIPetMySupportCtr:GetShowDataByIdx(idx)
  37. return self.showDatas and self.showDatas[idx + 1] or nil
  38. end
  39. function UIPetMySupportCtr:AddSupportData(id, idx)
  40. local curTime = ManagerContainer.LuaTimerMgr:CurLuaServerTime()
  41. for _,v in pairs(self.showDatas) do
  42. if v.id == 0 and curTime > v.cd then
  43. v.id = id
  44. return
  45. end
  46. end
  47. end
  48. function UIPetMySupportCtr:RemoveShowDataById(id)
  49. for i = 1, #self.showDatas do
  50. if self.showDatas[i].id == id then
  51. self.showDatas[i].id = 0
  52. return
  53. end
  54. end
  55. end
  56. function UIPetMySupportCtr:SendMySupport()
  57. local list = {}
  58. for _,v in pairs(self.showDatas) do
  59. list[v.idx] = v.id
  60. end
  61. ManagerContainer.DataMgr.PetDataMgr:SendMySupport(list)
  62. end
  63. function UIPetMySupportCtr:SupportSlotIsInCD(idx)
  64. local endTime = self.showDatas[idx] and self.showDatas[idx].cd or 0
  65. if endTime > 0 then
  66. local curTime = ManagerContainer.LuaTimerMgr:CurLuaServerTime()
  67. if curTime > endTime then
  68. return false
  69. else
  70. local remainS = ManagerContainer.LuaTimerMgr:GetRemainSecondsWithUInt64(endTime, false)
  71. if remainS > 0 then
  72. local time = DateTimeUtil.convertSeconds2TimeStr1(remainS, true, true)
  73. return true, time
  74. end
  75. end
  76. end
  77. return false
  78. end
  79. function UIPetMySupportCtr:OnDispose()
  80. self.showDatas = nil
  81. self.data = nil
  82. self.view = nil
  83. end
  84. return UIPetMySupportCtr