UISignDailyCtr.lua 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. local UISignDailyCtr = class("UISignDailyCtr", require("UICtrBase"))
  2. function UISignDailyCtr:Init(view)
  3. self.view = view
  4. end
  5. function UISignDailyCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UISignDailyCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UISignDailyCtr:GetData()
  15. return self.data
  16. end
  17. function UISignDailyCtr:RefreshShowDatas()
  18. self.canSignToday = ManagerContainer.DataMgr.SignData:CanTodaySign()
  19. local curDay = ManagerContainer.DataMgr.SignData:GetCurSignedDay()
  20. local startDay = math.floor(curDay/30)*30 + 1
  21. local maxSignDay = ManagerContainer.CfgMgr:GetMaxSignDay()
  22. if curDay == maxSignDay then
  23. startDay = startDay - 30
  24. end
  25. self.showDatas = {}
  26. for i = startDay, startDay + 29 do
  27. local signCfgData = ManagerContainer.CfgMgr:GetSignInCfg(i)
  28. if signCfgData then
  29. self.showDatas[#self.showDatas + 1] = signCfgData
  30. end
  31. end
  32. return self.showDatas
  33. end
  34. function UISignDailyCtr:GetCanSignToday()
  35. return self.canSignToday
  36. end
  37. function UISignDailyCtr:GetShowDataLength()
  38. return self.showDatas and #self.showDatas or 0
  39. end
  40. function UISignDailyCtr:GetShowData(itemIndex)
  41. if not self.showDatas then
  42. return
  43. end
  44. return self.showDatas[itemIndex + 1]
  45. end
  46. function UISignDailyCtr:SendSignUp()
  47. ManagerContainer.DataMgr.SignData:SendSignUpReq()
  48. end
  49. function UISignDailyCtr:OnDispose()
  50. self.showDatas = nil
  51. self.data = nil
  52. self.view = nil
  53. end
  54. return UISignDailyCtr