UIRuneShopBuyTipsView.lua 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. local UIRuneShopBuyTipsView = require("UIRuneShop/UIRuneShopBuyTipsView_Generate")
  2. function UIRuneShopBuyTipsView:OnAwake(data)
  3. self.controller = require("UIRuneShop/UIRuneShopBuyTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIRuneShopBuyTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UIRuneShopBuyTipsView: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 UIRuneShopBuyTipsView: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.goodsList.loopHorizontalScrollRect.horizontal = false
  28. CommonUtil.LoopGridViewEleCreateNew(self, self.goodsList.loopHorizontalScrollRect, nil, {}, 0, self, self.UpdateIconItem, nil, nil, 0)
  29. return
  30. end
  31. self.textTitle.text.text = self.controller:GetGiftName()
  32. if not self.controller:IsLimitNum() then
  33. self.buyLimitTxt.text.text = ''
  34. else
  35. self.buyLimitTxt.text.text = string.formatbykey('RuneShopLimitBuy', tostring(self.controller:GetRemainNum()))
  36. end
  37. local shopSubType = self.controller:GetShopSubType()
  38. if shopSubType == Enum.RuneShopSubType.ROCoin then
  39. self.presentPrice.icon:SetActive(true)
  40. self.presentPrice.currency:SetActive(false)
  41. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(Enum.ItemIds.ROCoin)
  42. CommonUtil.LoadIcon(self, itemCfgData.MiniIcon, function (sprite)
  43. self.presentPrice.icon.image.sprite = sprite
  44. end, self, 'CurrenyIcon')
  45. else
  46. self.presentPrice.icon:SetActive(false)
  47. self.presentPrice.currency:SetActive(true)
  48. end
  49. local price = self.controller:GetPrice()
  50. if price <= 0 then
  51. self.presentPrice.number.text.text = string.formatbykey('Free')
  52. else
  53. self.presentPrice.number.text.text = tostring(price)
  54. end
  55. self.goodsList.loopHorizontalScrollRect.horizontal = (#self.controller:GetRewards() > 4)
  56. CommonUtil.LoopGridViewEleCreateNew(self, self.goodsList.loopHorizontalScrollRect, nil, self.controller:GetRewards(), 0, self, self.UpdateIconItem)
  57. end
  58. function UIRuneShopBuyTipsView:RemoveEventListener()
  59. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  60. end
  61. function UIRuneShopBuyTipsView:AddUIEventListener()
  62. self.uiBase:AddButtonUniqueEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  63. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  64. self.uiBase:AddButtonUniqueEventListener(self.btnBuy.button, self, self.OnClickBuyBtn)
  65. end
  66. function UIRuneShopBuyTipsView:OnHide()
  67. end
  68. function UIRuneShopBuyTipsView:OnShow(data)
  69. if data then
  70. self.controller:SetData(data)
  71. self.controller:InitData()
  72. self:Init()
  73. end
  74. end
  75. function UIRuneShopBuyTipsView:OnClose()
  76. end
  77. function UIRuneShopBuyTipsView:OnDispose()
  78. self.goodsList.loopHorizontalScrollRect:ClearCells()
  79. self.goodsList.loopHorizontalScrollRect:ClearAnchoredPostion()
  80. self.controller:OnDispose()
  81. end
  82. function UIRuneShopBuyTipsView:OnClickCloseBtn()
  83. self:UIClose()
  84. end
  85. function UIRuneShopBuyTipsView:OnClickBuyBtn()
  86. local errorCodeKey = self.controller:SendPay()
  87. if errorCodeKey then
  88. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCodeKey)
  89. return
  90. end
  91. self:UIClose()
  92. end
  93. function UIRuneShopBuyTipsView:UpdateIconItem(itemLua, itemIdx, itemData)
  94. if not itemLua or not itemData then return end
  95. CommonUtil.UpdateItemPrefab(self, itemLua, itemData, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
  96. end
  97. function UIRuneShopBuyTipsView:ShowItemTips(button, params)
  98. ManagerContainer.LuaUIMgr:OpenTips(params[0])
  99. end
  100. return UIRuneShopBuyTipsView