UIRuneShopGoldBuyTipsView.lua 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. local UIRuneShopGoldBuyTipsView = require("UIRuneShop/UIRuneShopGoldBuyTipsView_Generate")
  2. function UIRuneShopGoldBuyTipsView:OnAwake(data)
  3. self.controller = require("UIRuneShop/UIRuneShopGoldBuyTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIRuneShopGoldBuyTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UIRuneShopGoldBuyTipsView:FillContent(data, uiBase)
  11. self.uiBase = uiBase
  12. local gameObject = self.uiBase:GetRoot()
  13. if gameObject ~= nil then
  14. self.gameObject = gameObject
  15. self.transform = gameObject.transform
  16. end
  17. self:InitGenerate(self.transform, data)
  18. self:Init()
  19. end
  20. function UIRuneShopGoldBuyTipsView:Init()
  21. self.controller:InitData()
  22. local goodsData = self.controller:GetCurGoodsData()
  23. if not goodsData then
  24. self.textTitle.text.text = ''
  25. self.buyLimitTxt.text.text = ''
  26. self.presentPrice.number.text.text = ''
  27. self.image.image.enabled = false
  28. self.image.image.sprite = nil
  29. return
  30. end
  31. local isWallet = self.controller:GetEnterType()
  32. local cfgData = goodsData.cfgData
  33. if cfgData then
  34. CommonUtil.LoadIcon(self, cfgData.Pic, function(sprite)
  35. if sprite then
  36. self.image.image.sprite = sprite
  37. self.image.image.enabled = true
  38. end
  39. end)
  40. local rewards = cfgData.Reward
  41. local reward
  42. local goldNum = 0
  43. if rewards then
  44. for i = 1, #rewards do
  45. reward = rewards[i]
  46. if reward[1] == Enum.ItemType.Diamond then
  47. if reward[2] then
  48. goldNum = goldNum + reward[2]
  49. end
  50. end
  51. end
  52. end
  53. local extraGoldNum = 0
  54. if cfgData.FirstBuyReward and #cfgData.FirstBuyReward > 0 and goodsData:IsFirstBuy() then
  55. self.textTitle.text.text = I18N.T(cfgData.Name) .. string.formatbykey('RuneShopGoldTitle1')
  56. rewards = cfgData.FirstBuyReward
  57. for i = 1, #rewards do
  58. reward = rewards[i]
  59. if reward[1] == Enum.ItemType.Diamond then
  60. if reward[2] then
  61. extraGoldNum = extraGoldNum + reward[2]
  62. end
  63. end
  64. end
  65. elseif cfgData.ExtraBuyReward and #cfgData.ExtraBuyReward > 0 then
  66. self.textTitle.text.text = I18N.T(cfgData.Name) .. string.formatbykey('RuneShopGoldTitle2')
  67. rewards = cfgData.ExtraBuyReward
  68. for i = 1, #rewards do
  69. reward = rewards[i]
  70. if reward[1] == Enum.ItemType.Diamond then
  71. if reward[2] then
  72. extraGoldNum = extraGoldNum + reward[2]
  73. end
  74. end
  75. end
  76. else
  77. self.textTitle.text.text = I18N.T(cfgData.Name)
  78. end
  79. local contentStr = '+' .. tostring((goldNum + extraGoldNum))
  80. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(Enum.ItemType.Diamond)
  81. if itemCfgData then
  82. contentStr = contentStr .. I18N.T(itemCfgData.Name)
  83. end
  84. self.goldText.text.text = contentStr
  85. self.buyLimitTxt.text.text = string.formatbykey('RuneShopGoldDsc', tostring(goldNum), tostring(extraGoldNum))
  86. else
  87. self.image.image.enabled = false
  88. self.image.image.sprite = nil
  89. self.textTitle.text.text = ''
  90. self.goldText.text.text = '+0'
  91. self.buyLimitTxt.text.text = ''
  92. end
  93. local price = goodsData:GetPrice()
  94. if price <= 0 then
  95. self.presentPrice.number.text.text = string.formatbykey('Free')
  96. else
  97. self.presentPrice.number.text.text = FloatToPrice(price)
  98. end
  99. end
  100. function UIRuneShopGoldBuyTipsView:RemoveEventListener()
  101. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  102. end
  103. function UIRuneShopGoldBuyTipsView:AddUIEventListener()
  104. self.uiBase:AddButtonUniqueEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  105. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  106. self.uiBase:AddButtonUniqueEventListener(self.btnBuy.button, self, self.OnClickBuyBtn)
  107. end
  108. function UIRuneShopGoldBuyTipsView:OnHide()
  109. end
  110. function UIRuneShopGoldBuyTipsView:OnShow(data)
  111. self.controller:SetData(data)
  112. end
  113. function UIRuneShopGoldBuyTipsView:OnClose()
  114. end
  115. function UIRuneShopGoldBuyTipsView:OnDispose()
  116. self.controller:OnDispose()
  117. end
  118. function UIRuneShopGoldBuyTipsView:OnClickCloseBtn()
  119. self:UIClose()
  120. end
  121. function UIRuneShopGoldBuyTipsView:OnClickBuyBtn()
  122. local isWallet = self.controller:GetEnterType()
  123. local errorCodeKey = self.controller:SendPay()
  124. if errorCodeKey then
  125. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCodeKey)
  126. return
  127. end
  128. self:UIClose()
  129. end
  130. return UIRuneShopGoldBuyTipsView