SignData.lua 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. local SignData = class("SignData", require("DataBase"))
  2. local ProtocalDataNormal = require("ProtocalDataNormal")
  3. function SignData:ctor()
  4. self.data = {}
  5. end
  6. function SignData:InitData(data)
  7. self.data.signInfo = ProtocalDataNormal.ParseSignInfo(data)
  8. --LogHRWarning(Inspect(self.data.signInfo))
  9. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.RED_POINT_MGR_NOTICE, Enum.RPNotifyType.SignIn, self:CanTodaySign());
  10. end
  11. function SignData:QuerySignUpInfoReq(needOpenUI)
  12. if needOpenUI then
  13. local isUnLock = ManagerContainer.UIFuncUnlockMgr:GetFuncLockStatusById(55);
  14. if not isUnLock then return end
  15. end
  16. self.needOpenUI = needOpenUI
  17. ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_SIGN_UP_INFO_REQ, {})
  18. end
  19. function SignData:SendSignUpReq()
  20. ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_SIGN_UP_REQ, {})
  21. end
  22. function SignData:RegisterNetEvents()
  23. --签到数据请求
  24. ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_SIGN_UP_INFO_ACK, self.SCSignUpInfoAck, self)
  25. ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_SIGN_UP_ACK, self.ScSignUpAck, self)
  26. end
  27. function SignData:SCSignUpInfoAck(data)
  28. if data.error == Enum.NetErrorCode.ERROR_OK then
  29. self:InitData(data)
  30. if self.needOpenUI then
  31. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UISign2)
  32. self.needOpenUI = nil
  33. end
  34. end
  35. end
  36. function SignData:ScSignUpAck(data)
  37. if data.error == Enum.NetErrorCode.ERROR_OK then
  38. self:InitData(data)
  39. --LogHRWarning(Inspect(data))
  40. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.SIGN_UP_SUCCESS)
  41. local signCfgData = ManagerContainer.CfgMgr:GetSignInCfg(self.data.signInfo.curSignDay)
  42. if not signCfgData then
  43. return
  44. end
  45. local rewardList = {}
  46. for _,v in pairs(data.day_list) do
  47. rewardList[#rewardList + 1] = {key = v.key, value = v.value, vip = 0}
  48. end
  49. for _,v in pairs(data.double_list) do
  50. rewardList[#rewardList + 1] = {key = v.key, value = v.value, vip = signCfgData.VipLevel}
  51. end
  52. CommonUtil.ACKSpecialShowRewardList(rewardList)
  53. end
  54. end
  55. function SignData:GetSignInfoData()
  56. return self.data.signInfo
  57. end
  58. function SignData:GetCanSignDay()
  59. return self.data.signInfo.curSignDay
  60. end
  61. function SignData:GetCurSignedDay()
  62. return self.data.signInfo.signUp.curDay
  63. end
  64. function SignData:CanTodaySign()
  65. if not self.data.signInfo then
  66. return false
  67. end
  68. if not self.data.signInfo.nextSignTime then
  69. return false
  70. end
  71. local time = ManagerContainer.LuaTimerMgr:CurLuaServerTime()
  72. return time > self.data.signInfo.nextSignTime
  73. end
  74. function SignData:Clear()
  75. self.data = {}
  76. end
  77. function SignData:Destroy()
  78. if self.Clear then
  79. self:Clear()
  80. end
  81. self:UnRegisterNetEvents()
  82. end
  83. function SignData:UnRegisterNetEvents()
  84. ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_SIGN_UP_INFO_ACK)
  85. ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_SIGN_UP_ACK)
  86. end
  87. return SignData