UIShopBuyTips1.lua 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. local UIShopBuyTips1 = class("UIShopBuyTips1")
  2. function UIShopBuyTips1:ctor()
  3. end
  4. function UIShopBuyTips1:InitGo(host,uiGo)
  5. self.host = host
  6. self.viewLua = CommonUtil.BindGridViewItem2Lua(self.host, "UIShopBuyTips1", uiGo)
  7. self:InitPanel()
  8. end
  9. function UIShopBuyTips1:InitPanel()
  10. end
  11. function UIShopBuyTips1:AddEventListener()
  12. end
  13. function UIShopBuyTips1:RemoveEventListener()
  14. end
  15. function UIShopBuyTips1:AddUIEventListener()
  16. self.host.uiBase:AddButtonUniqueEventListener(self.viewLua.btnClose.button, self, self.OnClickCloseBtn)
  17. self.host.uiBase:AddButtonUniqueEventListener(self.viewLua.AnyBtn.button, self, self.OnClickCloseBtn)
  18. self.host.uiBase:AddButtonUniqueEventListener(self.viewLua.btnBuy.button, self.host, self.host.OnClickBuyBtn)
  19. end
  20. function UIShopBuyTips1:Show(goodsData)
  21. self:AddEventListener()
  22. if not goodsData then
  23. self.viewLua.textTitle.text.text = ''
  24. self.viewLua.buyLimitTxt.text.text = ''
  25. self.viewLua.presentPrice.number.text.text = ''
  26. self.viewLua.goodsList.loopHorizontalScrollRect.horizontal = false
  27. CommonUtil.LoopGridViewEleCreateNew(self, self.goodsList.loopHorizontalScrollRect, nil, {}, 0, self, self.UpdateIconItem, nil, nil, 0)
  28. return
  29. end
  30. self.curGoodsData = goodsData
  31. local cfgData = goodsData.cfgData
  32. local remainNum = goodsData:GetRemainBuyNum()
  33. local isLimitNum = (remainNum >= 0)
  34. self.viewLua.textTitle.text.text = I18N.T(cfgData.GoodsName)
  35. if not isLimitNum then
  36. self.viewLua.buyLimitTxt.text.text = ''
  37. else
  38. self.viewLua.buyLimitTxt.text.text = string.formatbykey('RuneShopLimitBuy', tostring(remainNum))
  39. end
  40. local price = goodsData.curPrice
  41. if price <= 0 then
  42. self.viewLua.presentPrice.number.text.text = string.formatbykey('Free')
  43. else
  44. self.viewLua.presentPrice.number.text.text = tostring(price)
  45. end
  46. local rewards = {}
  47. for _,v in pairs(cfgData.Reward) do
  48. rewards[#rewards + 1] = {cfgId = v[1], num = v[2]}
  49. end
  50. self.viewLua.goodsList.loopHorizontalScrollRect.horizontal = (#rewards > 4)
  51. self.viewLua:SetActive(true)
  52. CommonUtil.LoopGridViewEleCreateNew(self.host, self.viewLua.goodsList.loopHorizontalScrollRect, nil, rewards, 0, self, self.UpdateIconItem)
  53. end
  54. function UIShopBuyTips1:UpdateIconItem(itemLua, itemIdx, itemData)
  55. if not itemLua or not itemData then return end
  56. CommonUtil.UpdateItemPrefab(self.host, itemLua, itemData, Enum.ItemIEnterType.Bag, self.host, self.host.ShowItemTips)
  57. end
  58. function UIShopBuyTips1:OnClickCloseBtn()
  59. self:Hide()
  60. end
  61. function UIShopBuyTips1:Hide()
  62. self:RemoveEventListener()
  63. self.viewLua:SetActive(false)
  64. self:Clear()
  65. end
  66. function UIShopBuyTips1:HidePlayerNodes()
  67. end
  68. function UIShopBuyTips1:Clear()
  69. self.curGoodsData = nil
  70. end
  71. function UIShopBuyTips1:Dispose()
  72. self:Hide()
  73. self.host = nil
  74. self.viewLua = nil
  75. end
  76. return UIShopBuyTips1