UILuckyEggResultCtr.lua 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. local UILuckyEggResultCtr = class("UILuckyEggResultCtr", require("UICtrBase"))
  2. function UILuckyEggResultCtr:Init(view)
  3. self.view = view
  4. end
  5. function UILuckyEggResultCtr:SetData(data)
  6. self.asyncIdx = 0
  7. self.data = data
  8. end
  9. function UILuckyEggResultCtr:GetAsyncIdx()
  10. self.asyncIdx = self.asyncIdx + 1
  11. return self.asyncIdx
  12. end
  13. function UILuckyEggResultCtr:GetData()
  14. return self.data
  15. end
  16. function UILuckyEggResultCtr:OnDispose()
  17. self.data = nil
  18. self.view = nil
  19. end
  20. function UILuckyEggResultCtr:InitData()
  21. local LuckyEggData = ManagerContainer.DataMgr.LuckyEggDataMgr:GetLuckyEggData()
  22. local cfgData, LuckyEggNum, rewards, extraReward, extraRewards, lastPercent, percent
  23. if LuckyEggData then
  24. cfgData = ManagerContainer.CfgMgr:GetLuckyEggCfgByType(LuckyEggData.luckyType)
  25. LuckyEggNum = LuckyEggData.luckyNum
  26. rewards = LuckyEggData.rewards
  27. extraRewards = LuckyEggData.extraRewards
  28. if cfgData.Total > 0 then
  29. if extraRewards and #extraRewards >= 1 then
  30. lastPercent = (cfgData.Total - LuckyEggData.luckyAdd + LuckyEggData.luckyTotal) / cfgData.Total
  31. percent = 1
  32. extraReward = extraRewards[1]
  33. else
  34. lastPercent = (LuckyEggData.luckyTotal - LuckyEggData.luckyAdd) / cfgData.Total
  35. percent = (LuckyEggData.luckyTotal) / cfgData.Total
  36. end
  37. end
  38. end
  39. self.cfgData = cfgData
  40. self.LuckyEggNum = LuckyEggNum
  41. self.rewards = rewards
  42. self.extraReward = extraReward
  43. self.lastPercent = lastPercent or 0
  44. self.percent = percent or 0
  45. self:ClearLuckyEggData()
  46. end
  47. function UILuckyEggResultCtr:GetCfgData()
  48. return self.cfgData
  49. end
  50. function UILuckyEggResultCtr:GetLuckyEggNum()
  51. return self.LuckyEggNum
  52. end
  53. function UILuckyEggResultCtr:IsHasExtra()
  54. return self.cfgData.Total > 0 or false
  55. end
  56. function UILuckyEggResultCtr:GetRewards()
  57. return self.rewards
  58. end
  59. function UILuckyEggResultCtr:GetExtraReward()
  60. return self.extraReward
  61. end
  62. function UILuckyEggResultCtr:GetLastLuckyEggPercent()
  63. return self.lastPercent
  64. end
  65. function UILuckyEggResultCtr:GetLuckyEggPercent()
  66. return self.percent
  67. end
  68. function UILuckyEggResultCtr:ClearLuckyEggData()
  69. ManagerContainer.DataMgr.LuckyEggDataMgr:ClearLuckyEggData()
  70. end
  71. function UILuckyEggResultCtr:GetOwnResCountByItemId(cfgId)
  72. return CommonUtil.GetOwnResCountByItemId(cfgId)
  73. end
  74. function UILuckyEggResultCtr:GetShowQuality(cfgId)
  75. if cfgId then
  76. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(cfgId)
  77. if itemCfgData then
  78. if itemCfgData.ResType == Enum.ItemType.Compose then
  79. if itemCfgData.Quality > 4 then
  80. return 3, false
  81. elseif itemCfgData.Quality == 4 then
  82. return 2, false
  83. else
  84. return 0, false
  85. end
  86. end
  87. local qualityLv = 1
  88. if itemCfgData.ResType == Enum.ItemType.Equip then
  89. local cfgData = ManagerContainer.CfgMgr:GetEquipById(cfgId)
  90. if cfgData then
  91. qualityLv = cfgData.EquipLevel
  92. end
  93. elseif itemCfgData.ResType == Enum.ItemType.Card then
  94. local cfgData = ManagerContainer.CfgMgr:GetCardDataById(cfgId)
  95. if cfgData then
  96. qualityLv = cfgData.CardLevel
  97. end
  98. end
  99. if itemCfgData.Quality > 4 then
  100. return 3, true
  101. elseif itemCfgData.Quality == 4 then
  102. return 2, true
  103. elseif itemCfgData.Quality == 3 then
  104. return 1, qualityLv >= 3
  105. end
  106. end
  107. end
  108. return 0, false
  109. end
  110. function UILuckyEggResultCtr:GetSendLuckyEggReqErrorCode(idx)
  111. return ManagerContainer.DataMgr.LuckyEggDataMgr:GetSendLuckyEggReqErrorCode(self.cfgData.Id, idx)
  112. end
  113. function UILuckyEggResultCtr:SendLuckyEggReq(LuckyEggNum)
  114. -- 限时代码
  115. -- if self.cfgData and self.cfgData.ActivitiesId and self.cfgData.ActivitiesId > 0 then
  116. -- if not ManagerContainer.DataMgr.LuckyEggDataMgr:SendLuckyEggReq(self.cfgData.ActivitiesId,LuckyEggNum) then
  117. -- return 100007
  118. -- end
  119. -- local activityData = ManagerContainer.DataMgr.ActsDataMgr:GetActivityItemById(self.cfgData.ActivitiesId)
  120. -- if activityData then
  121. -- if activityData:LeftTime() <= 0 then
  122. -- self.view:OnClickConfirmBtn()
  123. -- end
  124. -- else
  125. -- self.view:OnClickConfirmBtn()
  126. -- end
  127. -- else
  128. if not ManagerContainer.DataMgr.LuckyEggDataMgr:SendLuckyEggReq(self.cfgData.ActivitiesId, LuckyEggNum,self.cfgData.Type) then
  129. return 100007
  130. end
  131. -- end
  132. return 0
  133. end
  134. return UILuckyEggResultCtr