UIRuneShopBuyTipsCtr.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. local UIRuneShopBuyTipsCtr = class("UIRuneShopBuyTipsCtr", require("UICtrBase"))
  2. function UIRuneShopBuyTipsCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIRuneShopBuyTipsCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIRuneShopBuyTipsCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIRuneShopBuyTipsCtr:GetData()
  15. return self.data
  16. end
  17. function UIRuneShopBuyTipsCtr:OnDispose()
  18. self.data = nil
  19. self.view = nil
  20. self.runeShopType = nil
  21. self.runeShopSubType = nil
  22. self.id = nil
  23. self.curShopData = nil
  24. self.curGoodsData = nil
  25. self.giftName = nil
  26. self.isLimitNum = nil
  27. self.remainNum = nil
  28. self.price = nil
  29. self.rewards = nil
  30. end
  31. function UIRuneShopBuyTipsCtr:InitData()
  32. if self.data then
  33. self.runeShopType = self.data[1]
  34. self.runeShopSubType = self.data[2]
  35. self.id = self.data[3]
  36. else
  37. self.runeShopType = Enum.RuneShopType.Gifts
  38. self.runeShopSubType = Enum.RuneShopSubType.Gold
  39. self.id = 1
  40. end
  41. self.curShopData = ManagerContainer.DataMgr.RuneShopDataMgr:GetShopData(self.runeShopType, self.runeShopSubType)
  42. if self.curShopData then
  43. self.curGoodsData = self.curShopData:GetGoodsDataByIdx(self.id)
  44. else
  45. self.curGoodsData = nil
  46. end
  47. if self.curGoodsData then
  48. local cfgData = self.curGoodsData:GetCfgData()
  49. if self.runeShopType == Enum.RuneShopType.MonthCard then
  50. self.giftName = cfgData.Name
  51. self.isLimitNum = false
  52. self.remainNum = 0
  53. self.price = self.curGoodsData:GetPrice()
  54. self.rewards = nil
  55. elseif self.runeShopType == Enum.RuneShopType.Gifts then
  56. local remainNum = self.curGoodsData:GetRemainBuyNum()
  57. self.giftName = cfgData.Name
  58. self.isLimitNum = (remainNum >= 0)
  59. self.remainNum = remainNum
  60. self.price = self.curGoodsData:GetPrice()
  61. self.rewards = {}
  62. local rewards = cfgData.Reward
  63. if rewards then
  64. local reward
  65. for i = 1, #rewards do
  66. reward = rewards[i]
  67. self.rewards[i] = {cfgId = reward[1], num = reward[2]}
  68. end
  69. end
  70. elseif self.runeShopType == Enum.RuneShopType.LimitTime then
  71. local remainNum = self.curGoodsData:GetRemainBuyNum()
  72. self.giftName = cfgData.Name
  73. self.isLimitNum = (remainNum >= 0)
  74. self.remainNum = remainNum
  75. self.price = self.curGoodsData:GetPrice()
  76. self.rewards = {}
  77. local rewards = cfgData.BuyReward
  78. if rewards then
  79. local reward
  80. for i = 1, #rewards do
  81. reward = rewards[i]
  82. self.rewards[i] = {cfgId = reward[1], num = reward[2]}
  83. end
  84. end
  85. else
  86. self.giftName = ''
  87. self.isLimitNum = false
  88. self.remainNum = 0
  89. self.price = 0
  90. self.rewards = nil
  91. end
  92. else
  93. self.giftName = ''
  94. self.isLimitNum = false
  95. self.remainNum = 0
  96. self.price = 0
  97. self.rewards = nil
  98. end
  99. end
  100. function UIRuneShopBuyTipsCtr:GetGiftName()
  101. return self.giftName
  102. end
  103. function UIRuneShopBuyTipsCtr:IsLimitNum()
  104. return self.isLimitNum
  105. end
  106. function UIRuneShopBuyTipsCtr:GetRemainNum()
  107. return self.remainNum
  108. end
  109. function UIRuneShopBuyTipsCtr:GetPrice()
  110. return self.price
  111. end
  112. function UIRuneShopBuyTipsCtr:GetCurGoodsData()
  113. return self.curGoodsData
  114. end
  115. function UIRuneShopBuyTipsCtr:GetShopType()
  116. return self.runeShopType
  117. end
  118. function UIRuneShopBuyTipsCtr:GetShopSubType()
  119. return self.runeShopSubType
  120. end
  121. function UIRuneShopBuyTipsCtr:GetRewards()
  122. return self.rewards or {}
  123. end
  124. function UIRuneShopBuyTipsCtr:SendPay()
  125. if self.runeShopSubType == Enum.RuneShopSubType.ROCoin then
  126. if not ManagerContainer.DataMgr.RuneShopDataMgr:SendRuneRoCoinBuyItemReq(self.id) then
  127. return 100007
  128. end
  129. else
  130. local errorCode = ManagerContainer.PayMgr:RuneShopPay(self.runeShopType, self.runeShopSubType, self.id)
  131. local errorCodeKey = ManagerContainer.PayMgr:GetInitPayErrorCodeLangKey(errorCode)
  132. return errorCodeKey
  133. end
  134. return nil
  135. end
  136. return UIRuneShopBuyTipsCtr