UIClimbingTowerBattleWinView.lua 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. local UIClimbingTowerBattleWinView = require("UIClimbingTower/UIClimbingTowerBattleWinView_Generate")
  2. function UIClimbingTowerBattleWinView:OnAwake(data)
  3. self.controller = require("UIClimbingTower/UIClimbingTowerBattleWinCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIClimbingTowerBattleWinView:AddEventListener()
  8. end
  9. function UIClimbingTowerBattleWinView: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 UIClimbingTowerBattleWinView:Init()
  20. self.curTime = 0
  21. self.maxTime = 0
  22. self:SetRewardInfo(self.controller:GetLevelRewards())
  23. local type = self.controller:GetLastUITowerType()
  24. self.btnNextTower:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
  25. LogError("ClimbingTower = "..tostring(type))
  26. if type == Enum.UnlimitTowerType.ClimbingTower then
  27. self:AutoPlayTimer()
  28. LogError("ClimbingTower = ClimbingTower")
  29. else
  30. self.autoPlay:SetActive(false)
  31. end
  32. end
  33. function UIClimbingTowerBattleWinView:SetRewardInfo(rewardData)
  34. if rewardData~= nil then
  35. self.ItemScrollView:SetActive(true)
  36. CommonUtil.LoopGridViewEleCreateNew(self,
  37. self.ItemScrollView.loopVerticalScrollRect,
  38. self.ItemContent.gridLayoutGroup,rewardData,0,self,self.OnUpdateItemData)
  39. else
  40. self.ItemScrollView:SetActive(false)
  41. end
  42. end
  43. function UIClimbingTowerBattleWinView:OnUpdateItemData(itemLua,idx,itemData)
  44. CommonUtil.SetRewardItemDataNew(self,itemData[1],itemLua,itemData[2],itemData[3], self.OnClickItem)
  45. end
  46. function UIClimbingTowerBattleWinView:RemoveEventListener()
  47. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  48. end
  49. function UIClimbingTowerBattleWinView:AddUIEventListener()
  50. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickClose)
  51. self.uiBase:AddButtonEventListener(self.btnNextTower.button,self, self.OnClickNext)
  52. end
  53. function UIClimbingTowerBattleWinView:OnHide()
  54. self:ClearMyTimer()
  55. end
  56. function UIClimbingTowerBattleWinView:OnShow(data)
  57. self.controller:SetData(data)
  58. end
  59. function UIClimbingTowerBattleWinView:OnClose()
  60. self:ClearMyTimer()
  61. end
  62. function UIClimbingTowerBattleWinView:OnDispose()
  63. self.controller:OnDispose()
  64. end
  65. function UIClimbingTowerBattleWinView:OnClickNext()
  66. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_TIMEBATTLE,self.controller:BackPageId())
  67. --ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  68. self.controller:EnterNextBattle()
  69. end
  70. function UIClimbingTowerBattleWinView:OnClickClose()
  71. local type = self.controller:GetLastUITowerType()
  72. if type == Enum.UnlimitTowerType.PeakTower then
  73. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_PVPCIMBINGBATTLE,self.controller:BackPageId())
  74. else
  75. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_TIMEBATTLE,self.controller:BackPageId())
  76. end
  77. ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  78. self:ClearMyTimer()
  79. end
  80. function UIClimbingTowerBattleWinView:OnClickItem(btn,params)
  81. local logicData = params[0]
  82. ManagerContainer.LuaUIMgr:OpenTips(logicData)
  83. end
  84. function UIClimbingTowerBattleWinView:AutoPlayTimer()
  85. self.autoPlay:SetActive(true)
  86. self.maxTime = GlobalConfig.Instance:GetConfigIntValue(365)
  87. self.curTime =0
  88. self.curTimer = nil
  89. self:StartTimer()
  90. end
  91. function UIClimbingTowerBattleWinView:StartTimer()
  92. self.timersTxt.text.text = tostring(self.maxTime)
  93. self.curTimer = ManagerContainer.LuaTimerMgr:AddTimer(1000, self.maxTime, self, self.UpdateTimer, nil)
  94. end
  95. function UIClimbingTowerBattleWinView:UpdateTimer()
  96. self.curTime = self.curTime + 1
  97. self.timersTxt.text.text = tostring(self.maxTime - self.curTime)
  98. if (self.maxTime == self.curTime) then
  99. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_TIMEBATTLE, self.controller:BackPageId())
  100. self.controller:EnterNextBattle()
  101. self.curTimer = nil
  102. --ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  103. end
  104. end
  105. function UIClimbingTowerBattleWinView:ClearMyTimer()
  106. if self.curTimer ~= nil then
  107. ManagerContainer.LuaTimerMgr:RemoveTimer(self.curTimer)
  108. self.curTimer = nil
  109. end
  110. end
  111. return UIClimbingTowerBattleWinView