UIClimbingTowerCtr.lua 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. local UIClimbingTowerCtr = class("UIClimbingTowerCtr", require("UICtrBase"))
  2. local TowerDataMgr = ManagerContainer.DataMgr.TowerDataMgr
  3. local PeakTowerDataMgr = ManagerContainer.DataMgr.PeakTowerDataMgr
  4. function UIClimbingTowerCtr:Init(view)
  5. self.view = view
  6. end
  7. function UIClimbingTowerCtr:SetData(data)
  8. self:GetLastUITowerType()
  9. self.asyncIdx = 0
  10. if data == nil then return end
  11. self.data = data
  12. end
  13. function UIClimbingTowerCtr:GetAsyncIdx()
  14. self.asyncIdx = self.asyncIdx + 1
  15. return self.asyncIdx
  16. end
  17. function UIClimbingTowerCtr:GetData()
  18. return self.data
  19. end
  20. function UIClimbingTowerCtr:OnDispose()
  21. self.data = nil
  22. self.view = nil
  23. end
  24. function UIClimbingTowerCtr:GetLastUITowerType()
  25. self.type = PeakTowerDataMgr:GetCurUITowerType()
  26. return self.type
  27. end
  28. function UIClimbingTowerCtr:ChangeToOtherType()
  29. self.type = 1 - self.type
  30. self:SaveCurUITowerType(self.type)
  31. end
  32. function UIClimbingTowerCtr:SaveCurUITowerType()
  33. PeakTowerDataMgr:SaveCurUITowerType(self.type)
  34. end
  35. function UIClimbingTowerCtr:GetCurTowerType()
  36. return self.type
  37. end
  38. function UIClimbingTowerCtr:SetCurTowerType(t)
  39. self.type = t
  40. self:SaveCurUITowerType()
  41. end
  42. function UIClimbingTowerCtr:SendTowerInfoReq(type)
  43. local changeTower = type ~= nil
  44. if not type then
  45. type = self.type
  46. end
  47. local needQuery = self:NeedQueryNewDataList(type)
  48. if type == Enum.UnlimitTowerType.ClimbingTower then
  49. if needQuery then
  50. TowerDataMgr:SendClimbingTowerInfoReq(changeTower)
  51. end
  52. elseif type == Enum.UnlimitTowerType.PeakTower then
  53. if needQuery then
  54. PeakTowerDataMgr:SendTowerFightListReq(changeTower)
  55. end
  56. end
  57. return needQuery
  58. end
  59. function UIClimbingTowerCtr:GetLevelsData()
  60. return TowerDataMgr:GetShowLevels()
  61. end
  62. function UIClimbingTowerCtr:CurrentLevel()
  63. self.curPeakTowerFloorIdx = TowerDataMgr:GetCurChallengeLevel()
  64. end
  65. function UIClimbingTowerCtr:GetLevelInfo(levelId)
  66. return TowerDataMgr:FindLevelData(levelId)
  67. end
  68. function UIClimbingTowerCtr:EnterBattle(levelId)
  69. -- TowerDataMgr:EnterBattle(levelId)
  70. TowerDataMgr:SendClimbingTowerBeginReq(levelId)
  71. end
  72. function UIClimbingTowerCtr:SendFriendPassTowerInfo()
  73. if self.tempFriendLevelNum < 1 then
  74. return
  75. end
  76. local startIdx = self.tempFriendLevelNum - 10
  77. if startIdx < 1 then
  78. startIdx = 1
  79. end
  80. TowerDataMgr:SendFriendPassTowerInfoReq(startIdx,self.tempFriendLevelNum)
  81. self.tempFriendLevelNum = self.tempFriendLevelNum - 10
  82. end
  83. function UIClimbingTowerCtr:SetTempFriendLevelNum()
  84. self.tempFriendLevelNum = TowerDataMgr:GetCurChallengeLevel()
  85. end
  86. function UIClimbingTowerCtr:GetPeakTowerListDatas()
  87. return PeakTowerDataMgr:GetTowerFightList()
  88. end
  89. function UIClimbingTowerCtr:RefreshTowerDatas()
  90. if self.type == Enum.UnlimitTowerType.ClimbingTower then
  91. self:SetTempFriendLevelNum()
  92. self:CurrentLevel()
  93. self.showDatas = self:GetLevelsData()
  94. elseif self.type == Enum.UnlimitTowerType.PeakTower then
  95. self.showDatas = self:GetPeakTowerListDatas()
  96. self.curPeakTowerFloorIdx = 1000
  97. for _,v in pairs(self.showDatas) do
  98. local idx = v.floorIdx
  99. local rewardState = v:GetRoleRewardState()
  100. if self.curPeakTowerFloorIdx > idx and not rewardState then
  101. self.curPeakTowerFloorIdx = idx
  102. end
  103. end
  104. end
  105. end
  106. function UIClimbingTowerCtr:GetCurTowerFloorIdx()
  107. return self.curPeakTowerFloorIdx
  108. end
  109. function UIClimbingTowerCtr:GetShowDataLength()
  110. return self.showDatas and #self.showDatas or 0
  111. end
  112. function UIClimbingTowerCtr:GetShowDataByIdx(idx)
  113. return self.showDatas and self.showDatas[idx + 1] or nil
  114. end
  115. function UIClimbingTowerCtr:SendPeakTowerBuyReq(idx)
  116. PeakTowerDataMgr:SendTowerForceWinReq(idx)
  117. end
  118. function UIClimbingTowerCtr:SendChallengeReq(idx)
  119. PeakTowerDataMgr:SendChallengeReq(idx)
  120. end
  121. function UIClimbingTowerCtr:EnterPeakTowerChallengeBattle(idx)
  122. PeakTowerDataMgr:EnterBattle(idx, {})
  123. end
  124. function UIClimbingTowerCtr:ShowPlayerInfo(uid)
  125. ManagerContainer.LuaUIMgr:OpenRoleMessagePanel(uid)
  126. end
  127. function UIClimbingTowerCtr:NeedQueryNewDataList(type)
  128. if type == Enum.UnlimitTowerType.ClimbingTower then
  129. return true
  130. elseif type == Enum.UnlimitTowerType.PeakTower then
  131. return ManagerContainer.DataMgr.PeakTowerDataMgr:NeedRefreshFightList()
  132. end
  133. return false
  134. end
  135. function UIClimbingTowerCtr:QueryCrossFightInfo(idx)
  136. PeakTowerDataMgr:QueryCrossChallengeInfoReq(idx)
  137. end
  138. function UIClimbingTowerCtr:FindLevelIsPassed()
  139. return TowerDataMgr:FindLevelIsPassed()
  140. end
  141. return UIClimbingTowerCtr