UIWaitingView.lua 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. local UIWaitingView = require("UIWaiting/UIWaitingView_Generate")
  2. function UIWaitingView:OnAwake(data)
  3. self.controller = require("UIWaiting/UIWaitingCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIWaitingView:AddEventListener()
  8. end
  9. function UIWaitingView: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. end
  19. function UIWaitingView:Init()
  20. --LogError("Type = "..self.controller.NoticeType)
  21. self.noticeRoot:SetActive(self.controller.NoticeType >= 0)
  22. if self.controller.NoticeType == 1 then -- 普通
  23. self.notice.text.text = self.controller.NoticeText
  24. elseif self.controller.NoticeType == 2 then --计时
  25. self:AutoPlayTimer()
  26. end
  27. end
  28. function UIWaitingView:RemoveEventListener()
  29. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  30. end
  31. function UIWaitingView:AddUIEventListener()
  32. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  33. end
  34. function UIWaitingView:OnHide()
  35. if self.curTimer then
  36. ManagerContainer.LuaTimerMgr:RemoveTimer(self.curTimer)
  37. self.curTimer = nil
  38. end
  39. end
  40. function UIWaitingView:OnShow(data)
  41. self.controller:SetData(data)
  42. self:Init()
  43. end
  44. function UIWaitingView:OnClose()
  45. if self.curTimer then
  46. ManagerContainer.LuaTimerMgr:RemoveTimer(self.curTimer)
  47. self.curTimer = nil
  48. end
  49. end
  50. function UIWaitingView:OnDispose()
  51. end
  52. function UIWaitingView:AutoPlayTimer()
  53. self.maxTime = self.controller.TimeData[1]
  54. self.dtTime = self.controller.TimeData[2]
  55. self.TimerCount = math.ceil(self.maxTime/self.dtTime)
  56. self.EndTimerCb = self.controller.TimeData[3]
  57. self.EndTimerCbParams = self.controller.TimeData[4]
  58. self.curTime =0
  59. self.curTimer = nil
  60. --LogError("maxTime = "..self.maxTime.." dtTime = "..self.dtTime.." TimerCount = "..self.TimerCount)
  61. self:StartTimer()
  62. end
  63. function UIWaitingView:StartTimer()
  64. self.notice.text.text = string.formatbykey(self.controller.NoticeText,tostring(self.maxTime))
  65. self.curTimer = ManagerContainer.LuaTimerMgr:AddLuaTimer(self.dtTime * 1000, self.TimerCount,function ()
  66. self:UpdateTimer()
  67. end, nil)
  68. end
  69. function UIWaitingView:UpdateTimer()
  70. self.curTime = self.curTime + 1
  71. --self.timersTxt.text.text = tostring(self.maxTime - self.curTime)
  72. --string.formatbykey('WalletGold',price)--tostring(price)
  73. -- if self.notice then
  74. -- self.notice.text.text = string.formatbykey(self.controller.NoticeText,
  75. -- tostring(self.maxTime - (self.dtTime * self.curTime)))
  76. -- end
  77. self.notice.text.text = string.formatbykey(self.controller.NoticeText,tostring(self.maxTime - (self.dtTime* self.curTime)))
  78. if (self.TimerCount <= self.curTime) then
  79. ManagerContainer.LuaTimerMgr:RemoveTimer(self.curTimer)
  80. self.curTimer = nil
  81. self.EndTimerCb(self.EndTimerCbParams)
  82. end
  83. end
  84. return UIWaitingView