ForceGuideData.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. local ForceGuideData = class("ForceGuideData", require("DataBase"))
  2. function ForceGuideData:ctor()
  3. self.data = {}
  4. self.data.forceGuideDatas = {}
  5. end
  6. function ForceGuideData:InitForceGuideData(data)
  7. ManagerContainer.ForceGuideMgr:InitMgrData()
  8. if data == nil then return end
  9. if self.data.forceGuideDatas == nil then
  10. self.data.forceGuideDatas = {}
  11. end
  12. self.data.forceGuideDatas[data.key] = data.value
  13. ManagerContainer.ForceGuideMgr:InitDataRecords(self.data.forceGuideDatas)
  14. end
  15. function ForceGuideData:RefreshForceGuideData(storyId, status)
  16. self.data.forceGuideDatas[storyId] = status
  17. ManagerContainer.ForceGuideMgr:InitDataRecords(self.data.forceGuideDatas)
  18. end
  19. function ForceGuideData:GetForceGuideDatas()
  20. return self.data.forceGuideDatas
  21. end
  22. function ForceGuideData:GetForceGuideRecordByGroupId(groupId, id)
  23. local maxK = 0
  24. for k,v in pairs(self.data.forceGuideDatas) do
  25. if k > maxK then
  26. maxK = k
  27. end
  28. end
  29. if maxK > groupId then
  30. return true
  31. elseif maxK == groupId then
  32. return self.data.forceGuideDatas[groupId] >= id
  33. end
  34. return false
  35. end
  36. function ForceGuideData:RegisterNetEvents()
  37. ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_COMPULSORY_GUIDANCE_ACK, function(data)
  38. if data.error == Enum.NetErrorCode.ERROR_OK then
  39. self:RefreshForceGuideData(data.story_id, data.status)
  40. end
  41. end)
  42. end
  43. function ForceGuideData:Clear()
  44. self.data = {}
  45. self.data.forceGuideDatas = {}
  46. end
  47. function ForceGuideData:Destroy()
  48. if self.Clear then
  49. self:Clear()
  50. end
  51. self:UnRegisterNetEvents()
  52. end
  53. function ForceGuideData:UnRegisterNetEvents()
  54. end
  55. return ForceGuideData