UIClimbingTowerBattleWinView.lua 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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 mode = ManagerContainer.DataMgr.TowerDataMgr:GetTowerMode()
  72. local type = self.controller:GetLastUITowerType()
  73. LogError("type = "..type)
  74. if type == Enum.UnlimitTowerType.PeakTower and mode < 2 then
  75. LogError("pppp")
  76. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_PVPCIMBINGBATTLE,self.controller:BackPageId())
  77. else
  78. LogError("ttt")
  79. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_TIMEBATTLE,self.controller:BackPageId())
  80. end
  81. ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  82. self:ClearMyTimer()
  83. end
  84. function UIClimbingTowerBattleWinView:OnClickItem(btn,params)
  85. local logicData = params[0]
  86. ManagerContainer.LuaUIMgr:OpenTips(logicData)
  87. end
  88. function UIClimbingTowerBattleWinView:AutoPlayTimer()
  89. self.autoPlay:SetActive(true)
  90. self.maxTime = GlobalConfig.Instance:GetConfigIntValue(465)
  91. self.curTime =0
  92. self.curTimer = nil
  93. self:StartTimer()
  94. end
  95. function UIClimbingTowerBattleWinView:StartTimer()
  96. self.timersTxt.text.text = tostring(self.maxTime)
  97. self.curTimer = ManagerContainer.LuaTimerMgr:AddTimer(1000, self.maxTime, self, self.UpdateTimer, nil)
  98. end
  99. function UIClimbingTowerBattleWinView:UpdateTimer()
  100. self.curTime = self.curTime + 1
  101. self.timersTxt.text.text = tostring(self.maxTime - self.curTime)
  102. if (self.maxTime == self.curTime) then
  103. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SHUT_TIMEBATTLE, self.controller:BackPageId())
  104. self.controller:EnterNextBattle()
  105. self.curTimer = nil
  106. --ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
  107. end
  108. end
  109. function UIClimbingTowerBattleWinView:ClearMyTimer()
  110. if self.curTimer ~= nil then
  111. ManagerContainer.LuaTimerMgr:RemoveTimer(self.curTimer)
  112. self.curTimer = nil
  113. end
  114. end
  115. return UIClimbingTowerBattleWinView