VoyageAirShipData.lua 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. local VoyageAirShipData = class('VoyageAirShipData')
  2. function VoyageAirShipData:ctor(msgData)
  3. self.uid = msgData.uid
  4. self.serverId = msgData.zone
  5. self.quality = msgData.trial_type
  6. self.endTime = msgData.end_time_stamp
  7. self.beChallengeNum = msgData.be_challenge_num or 0
  8. self.awardReceived = msgData.reward_state
  9. self.duration = msgData.duration_time
  10. self.slotId = Mathf.Clamp(msgData.line_num, 1, 10)
  11. self.changed1 = true
  12. self.changed2 = true
  13. self.changed3 = true
  14. self.changed4 = true
  15. self.changed = true
  16. end
  17. function VoyageAirShipData:Dispose()
  18. self.uid = nil
  19. self.serverId = nil
  20. self.quality = nil
  21. self.endTime = nil
  22. self.beChallengeNum = nil
  23. self.duration = nil
  24. self.slotId = nil
  25. self.changed1 = nil
  26. self.changed2 = nil
  27. self.changed3 = nil
  28. self.changed = nil
  29. self.name = nil
  30. end
  31. function VoyageAirShipData:SetData(msgData)
  32. local newQuality = msgData.trial_type
  33. local newEndTime = msgData.end_time_stamp
  34. local newBeChallengeNum = msgData.be_challenge_num or 0
  35. local newAwardReceived = msgData.reward_state
  36. local newDuration = msgData.duration_time
  37. local newSlotId = Mathf.Clamp(msgData.line_num, 1, 10)
  38. self.changed1 = self.changed1 or (self.quality ~= newQuality)
  39. self.changed2 = self.changed2 or (self.endTime ~= newEndTime)
  40. self.changed3 = self.changed3 or (self.beChallengeNum ~= newBeChallengeNum)
  41. self.changed4 = self.changed4 or (self.awardReceived ~= newAwardReceived)
  42. self.changed = self.changed or (self.changed1 or self.changed2 or self.changed3 or self.changed4)
  43. self.quality = newQuality
  44. self.endTime = newEndTime
  45. self.beChallengeNum = newBeChallengeNum
  46. self.awardReceived = newAwardReceived
  47. self.duration = newDuration
  48. self.slotId = newSlotId
  49. self.serverId = msgData.zone
  50. end
  51. function VoyageAirShipData:GetServerId()
  52. return self.serverId or 0
  53. end
  54. function VoyageAirShipData:GetName()
  55. return self.name
  56. end
  57. function VoyageAirShipData:SetName(name)
  58. self.name = name
  59. end
  60. function VoyageAirShipData:IsSame(uid)
  61. return self.uid == uid
  62. end
  63. function VoyageAirShipData:IsChange()
  64. return self.changed
  65. end
  66. function VoyageAirShipData:ResetChange()
  67. self.changed1 = false
  68. self.changed2 = false
  69. self.changed3 = false
  70. self.changed4 = false
  71. self.changed = false
  72. end
  73. function VoyageAirShipData:IsChangeQuality()
  74. return self.changed1
  75. end
  76. function VoyageAirShipData:IsChangeEndTime()
  77. return self.changed2
  78. end
  79. function VoyageAirShipData:IsChangeNum()
  80. return self.changed3
  81. end
  82. function VoyageAirShipData:IsChangeAwardReceived()
  83. return self.changed4
  84. end
  85. function VoyageAirShipData:GetSlotId()
  86. return self.slotId
  87. end
  88. function VoyageAirShipData:SetSlotId(slotId)
  89. self.slotId = slotId
  90. end
  91. return VoyageAirShipData