UILuckyEggResultCtr.lua 4.2 KB

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