UIRewardsBuyTipsView.lua 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. local UIRewardsBuyTipsView = require("UIRuneShop/UIRewardsBuyTipsView_Generate")
  2. function UIRewardsBuyTipsView:OnAwake(data)
  3. self.controller = require("UIRuneShop/UIRewardsBuyTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIRewardsBuyTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UIRewardsBuyTipsView: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 UIRewardsBuyTipsView:Init()
  21. self.controller:InitData()
  22. local goodsData = self.controller:GetCurGoodsData()
  23. self.goodsList.loopVerticalScrollRect.vertical = false
  24. if not goodsData then
  25. self.textTitle.text.text = ''
  26. self.presentPrice.number.text.text = ''
  27. CommonUtil.LoopGridViewEleCreateNew(self, self.goodsList.loopVerticalScrollRect, nil, {}, 0, self, self.UpdateIconItem, nil, nil, 0)
  28. return
  29. end
  30. self.textTitle.text.text = self.controller:GetGiftName()
  31. local price = self.controller:GetPrice()
  32. if price <= 0 then
  33. self.presentPrice.number.text.text = string.formatbykey('Free')
  34. else
  35. self.presentPrice.number.text.text = tostring(price)
  36. end
  37. --
  38. CommonUtil.LoopGridViewEleCreateNew(self, self.goodsList.loopVerticalScrollRect, nil, self.controller:GetCurGoodsData(), 0, self, self.UpdateIconItem)
  39. self.goodsList.loopVerticalScrollRect.vertical = (#self.controller:GetCurGoodsData() > 8)
  40. self.goodsList.loopVerticalScrollRect:SetItemStartIdx(0)
  41. self.buyLimitTxt.text.text = string.formatbykey('HighRewardText',self.controller:GetExpUp())
  42. end
  43. function UIRewardsBuyTipsView:RemoveEventListener()
  44. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  45. end
  46. function UIRewardsBuyTipsView:AddUIEventListener()
  47. self.uiBase:AddButtonUniqueEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  48. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  49. self.uiBase:AddButtonUniqueEventListener(self.btnBuy.button, self, self.OnClickBuyBtn)
  50. end
  51. function UIRewardsBuyTipsView:OnHide()
  52. end
  53. function UIRewardsBuyTipsView:OnShow(data)
  54. if data then
  55. self.controller:SetData(data)
  56. self.controller:InitData()
  57. self:Init()
  58. end
  59. end
  60. function UIRewardsBuyTipsView:OnClose()
  61. end
  62. function UIRewardsBuyTipsView:OnDispose()
  63. self.goodsList.loopVerticalScrollRect:ClearCells()
  64. self.goodsList.loopVerticalScrollRect:ClearAnchoredPostion()
  65. self.controller:OnDispose()
  66. end
  67. function UIRewardsBuyTipsView:OnClickCloseBtn()
  68. self:UIClose()
  69. end
  70. function UIRewardsBuyTipsView:OnClickBuyBtn()
  71. local errorCodeKey = self.controller:SendPay()
  72. if errorCodeKey then
  73. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCodeKey)
  74. return
  75. end
  76. self:UIClose()
  77. end
  78. function UIRewardsBuyTipsView:UpdateIconItem(itemLua, itemIdx, itemData)
  79. if not itemLua or not itemData then return end
  80. CommonUtil.UpdateItemPrefab(self, itemLua, itemData, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
  81. end
  82. function UIRewardsBuyTipsView:ShowItemTips(button, params)
  83. ManagerContainer.LuaUIMgr:OpenTips(params[0])
  84. end
  85. return UIRewardsBuyTipsView