UIVoyageRobberyCtr.lua 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. local UIVoyageRobberyCtr = class("UIVoyageRobberyCtr", require("UICtrBase"))
  2. function UIVoyageRobberyCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIVoyageRobberyCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIVoyageRobberyCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIVoyageRobberyCtr:GetData()
  15. return self.data
  16. end
  17. function UIVoyageRobberyCtr:OnDispose()
  18. self.numLimit = nil
  19. self.airShipData = nil
  20. self.quality = nil
  21. self.beChallengeNum = nil
  22. self.data = nil
  23. self.view = nil
  24. end
  25. function UIVoyageRobberyCtr:InitData()
  26. self.numLimit = ManagerContainer.DataMgr.VoyageDataMgr:GetChallengeCountLimit()
  27. if self.data then
  28. self.airShipData = ManagerContainer.DataMgr.VoyageDataMgr:GetAirShipDataByUid(self.data)
  29. else
  30. self.airShipData = nil
  31. end
  32. end
  33. function UIVoyageRobberyCtr:RefChallengeCount()
  34. self.numLimit = ManagerContainer.DataMgr.VoyageDataMgr:GetChallengeCountLimit()
  35. end
  36. function UIVoyageRobberyCtr:GetAirShipData()
  37. return self.airShipData
  38. end
  39. function UIVoyageRobberyCtr:RefreshAndGetAirShipData()
  40. if not self.data then
  41. return nil
  42. end
  43. local airShipData = ManagerContainer.DataMgr.VoyageDataMgr:GetAirShipDataByUid(self.data)
  44. if not airShipData then
  45. return nil
  46. end
  47. return airShipData
  48. end
  49. function UIVoyageRobberyCtr:GetRemindRobNum()
  50. local num = ManagerContainer.DataMgr.VoyageDataMgr:GetChallengeNum()
  51. return Mathf.Max(0, (self.numLimit - num))
  52. end
  53. function UIVoyageRobberyCtr:RefreshQuality()
  54. if not self.airShipData then
  55. return nil
  56. end
  57. if self.airShipData.quality == self.quality then
  58. return nil
  59. end
  60. self.quality = self.airShipData.quality
  61. return self.quality
  62. end
  63. function UIVoyageRobberyCtr:RefreshBeChallengeNum()
  64. if not self.airShipData then
  65. return nil
  66. end
  67. if self.airShipData.beChallengeNum == self.beChallengeNum then
  68. return nil
  69. end
  70. self.beChallengeNum = self.airShipData.beChallengeNum
  71. return self.beChallengeNum
  72. end
  73. function UIVoyageRobberyCtr:SendChallengeReq(uid, endTime)
  74. if not ManagerContainer.DataMgr.VoyageDataMgr:SendChallengeReq(uid, endTime) then
  75. return 100007
  76. end
  77. return 0
  78. end
  79. function UIVoyageRobberyCtr:SendCheckInfoReq(uid, endTime)
  80. if not ManagerContainer.DataMgr.VoyageDataMgr:SendCheckInfoReq(uid, endTime) then
  81. return 100007
  82. end
  83. return 0
  84. end
  85. return UIVoyageRobberyCtr