UIClimbingTowerLevelInfoView.lua 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. local UIClimbingTowerLevelInfoView = require("UIClimbingTower/UIClimbingTowerLevelInfoView_Generate")
  2. function UIClimbingTowerLevelInfoView:OnAwake(data)
  3. self.controller = require("UIClimbingTower/UIClimbingTowerLevelInfoCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIClimbingTowerLevelInfoView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.EID_Fetch_BattleRecord_Success,self,self.OnFetchBattleRecordOk);
  9. end
  10. function UIClimbingTowerLevelInfoView:FillContent(data, uiBase)
  11. self.uiBase = uiBase
  12. local gameObject = self.uiBase:GetRoot()
  13. if gameObject ~= nil then
  14. self.gameObject = gameObject
  15. self.transform = gameObject.transform
  16. end
  17. self:InitGenerate(self.transform, data)
  18. self:Init()
  19. end
  20. function UIClimbingTowerLevelInfoView:Init()
  21. self.battleRecordUid = nil
  22. local levelInfo = self.controller:GetLevelInfo(self.controller:GetData())
  23. if levelInfo ~= nil then
  24. self:SetPlayerInfo(levelInfo:GetLowestPlayer())
  25. self:SetRewardInfo(levelInfo:GetRewards())
  26. end
  27. self.replayBtn:SetActive(self.battleRecordUid ~= nil)
  28. self.infoNode:SetActive(self.battleRecordUid ~= nil)
  29. end
  30. function UIClimbingTowerLevelInfoView:SetPlayerInfo(playerData)
  31. if playerData == nil then
  32. self.playerNode:SetActive(false)
  33. self.nothingNode:SetActive(true)
  34. else
  35. self.battleRecordUid = playerData.battle_record_uid
  36. self.battleTime = playerData.battle_time
  37. self.fightPower = playerData.fightPower
  38. self.playerNode:SetActive(true)
  39. self.nothingNode:SetActive(false)
  40. local jobCfg = ManagerContainer.CfgMgr:GetJobDataById(playerData.job)
  41. local _jobICon = nil;
  42. if jobCfg ~= nil then
  43. _jobICon = jobCfg.JobIcon;
  44. end
  45. local _headIcon = nil;
  46. if playerData.head ~= nil then
  47. _headIcon = playerData.head
  48. end
  49. local _fakerData = {Level = playerData.level, ProfessionIcon = _jobICon, HeadIcon = _headIcon, IsHero = true};
  50. CommonUtil.SetPlayerHeadAndFrame(self, self.playerNode.headItem, _fakerData,false, playerData.head_frame, self, self.OnClickPlayerHead,playerData.uid);
  51. self.playerNode.playerName.text.text = playerData.name
  52. self.PlayerName = playerData.name
  53. self.playerNode.fightPower.text.text = tostring(playerData.fightPower)
  54. if playerData.battle_time~= nil then
  55. self.costTime.text.text = playerData.battle_time .. "s"
  56. else
  57. self.costTime.text.text = ""
  58. end
  59. if playerData.record_time~= nil then
  60. self.passedDateTime.text.text = DateTimeUtil.convertTime2Str(playerData.record_time,"yyyy-MM-dd")
  61. else
  62. self.passedDateTime.text.text = ""
  63. end
  64. --self.uiBase:AddButtonUniqueEventListener(self.playerNode.headItem.head.button,self,self.OnClickPlayerHead,playerData.uid)
  65. end
  66. end
  67. function UIClimbingTowerLevelInfoView:SetRewardInfo(rewardData)
  68. if rewardData~= nil then
  69. CommonUtil.LoopGridViewEleCreateNew(self,
  70. self.ItemScrollView.loopVerticalScrollRect,
  71. self.ItemContent.gridLayoutGroup,rewardData,0,self,self.OnUpdateItemData)
  72. end
  73. end
  74. function UIClimbingTowerLevelInfoView:RemoveEventListener()
  75. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  76. end
  77. function UIClimbingTowerLevelInfoView:AddUIEventListener()
  78. self.uiBase:AddButtonEventListener(self.CloseBtn.button,self,self.OnClickClose)
  79. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self,self.OnClickClose)
  80. self.uiBase:AddButtonEventListener(self.replayBtn.button,self,self.OnClickReplayBtn)
  81. end
  82. function UIClimbingTowerLevelInfoView:OnHide()
  83. end
  84. function UIClimbingTowerLevelInfoView:OnShow(data)
  85. self.controller:SetData(data)
  86. end
  87. function UIClimbingTowerLevelInfoView:OnClose()
  88. end
  89. function UIClimbingTowerLevelInfoView:OnDispose()
  90. self.controller:OnDispose()
  91. end
  92. function UIClimbingTowerLevelInfoView:OnUpdateItemData(itemLua,idx,itemData)
  93. CommonUtil.SetRewardItemData(self,itemData[1],itemLua,itemData[2], self.OnClickItem)
  94. end
  95. function UIClimbingTowerLevelInfoView:OnClickClose()
  96. ManagerContainer.LuaUIMgr:ClosePage(Enum.UIPageName.UIClimbingTowerLevelInfo)
  97. end
  98. function UIClimbingTowerLevelInfoView:OnClickPlayerHead(btn,param)
  99. local uid = param[0]
  100. ManagerContainer.LuaUIMgr:OpenRoleMessagePanel(uid)
  101. end
  102. function UIClimbingTowerLevelInfoView:OnClickItem(btn,params)
  103. local logicData = params[0]
  104. ManagerContainer.LuaUIMgr:OpenTips(logicData)
  105. end
  106. function UIClimbingTowerLevelInfoView:OnClickReplayBtn()
  107. if self.battleRecordUid == nil then
  108. return
  109. end
  110. ManagerContainer.LuaBattleMgr:SendBattleDetailReq(self.battleRecordUid,self.battleTime,self.fightPower)
  111. end
  112. function UIClimbingTowerLevelInfoView:OnFetchBattleRecordOk(battleRecordUid,battleRecordStr)
  113. ManagerContainer.LuaUIMgr:ClosePage(Enum.UIPageName.UIClimbingTowerLevelInfo)
  114. if battleRecordUid == self.battleRecordUid then
  115. ManagerContainer.DataMgr.TowerDataMgr:ReplayBattle(self.controller:GetData(),battleRecordStr,self.PlayerName)
  116. end
  117. end
  118. return UIClimbingTowerLevelInfoView