UIDojoBuyTimesView.lua 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. local UIDojoBuyTimesView = require("UIDojo/UIDojoBuyTimesView_Generate")
  2. function UIDojoBuyTimesView:OnAwake(data)
  3. self.controller = require("UIDojo/UIDojoBuyTimesCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIDojoBuyTimesView:AddEventListener()
  8. end
  9. function UIDojoBuyTimesView:FillContent(data, uiBase)
  10. self.uiBase = uiBase
  11. local gameObject = self.uiBase:GetRoot()
  12. if gameObject ~= nil then
  13. self.gameObject = gameObject
  14. self.transform = gameObject.transform
  15. end
  16. self:InitGenerate(self.transform, data)
  17. self:Init()
  18. self:SetUIData()
  19. end
  20. function UIDojoBuyTimesView:Init()
  21. self:ChangeIcon()
  22. end
  23. function UIDojoBuyTimesView:SetUIData()
  24. local cost = self.controller:GetCostNum()
  25. local remainCount = self.controller:GetRemainCount()
  26. self.costText.text.text = tostring(cost)
  27. if remainCount then
  28. self.title:SetActive(true)
  29. self.leftTimesText.text.text = tostring(remainCount)
  30. else
  31. self.title:SetActive(false)
  32. end
  33. end
  34. function UIDojoBuyTimesView:RemoveEventListener()
  35. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  36. end
  37. function UIDojoBuyTimesView:AddUIEventListener()
  38. self.uiBase:AddButtonEventListener(self.buyBtn.button,self, self.OnClickBuy)
  39. self.uiBase:AddButtonEventListener(self.closeBtn.button,self, self.OnClickClose)
  40. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickClose)
  41. end
  42. function UIDojoBuyTimesView:OnHide()
  43. end
  44. function UIDojoBuyTimesView:OnShow(data)
  45. self.controller:SetData(data)
  46. self:Init()
  47. end
  48. function UIDojoBuyTimesView:OnClose()
  49. end
  50. function UIDojoBuyTimesView:OnDispose()
  51. if self.delayTimer then
  52. self.delayTimer:Stop()
  53. end
  54. self.delayTimer = nil
  55. end
  56. function UIDojoBuyTimesView:OnClickBuy()
  57. self.controller:HandleCallback()
  58. self:OnClickClose()
  59. end
  60. function UIDojoBuyTimesView:OnClickClose()
  61. self.delayTimer = FrameTimer.New(function()
  62. ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  63. end, 1)
  64. self.delayTimer:Start()
  65. end
  66. function UIDojoBuyTimesView:ChangeIcon()
  67. local costType = self.controller:GetCostType()
  68. if costType and costType == 54 then
  69. self.icon_2:SetActive(false)
  70. self.icon_54:SetActive(true)
  71. else
  72. self.icon_2:SetActive(true)
  73. self.icon_54:SetActive(false)
  74. end
  75. end
  76. return UIDojoBuyTimesView