UIIdolSupportTipsView.lua 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. local UIIdolSupportTipsView = require("UISeason/UIIdolSupportTipsView_Generate")
  2. local UIIdolRankItemCtr = require("Common/UIIdolRankItemCtr")
  3. function UIIdolSupportTipsView:OnAwake(data)
  4. self.controller = require("UISeason/UIIdolSupportTipsCtr"):new()
  5. self.controller:Init(self)
  6. self.controller:SetData(data)
  7. end
  8. function UIIdolSupportTipsView:AddEventListener()
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  10. end
  11. function UIIdolSupportTipsView:FillContent(data, uiBase)
  12. self.uiBase = uiBase
  13. local gameObject = self.uiBase:GetRoot()
  14. if gameObject ~= nil then
  15. self.gameObject = gameObject
  16. self.transform = gameObject.transform
  17. end
  18. self:InitGenerate(self.transform, data)
  19. self:Init()
  20. end
  21. function UIIdolSupportTipsView:Init()
  22. UIIdolRankItemCtr:SetData(self,self.idolRank,self.controller:GetLogicData(),nil,self, self.OnClickSupportBtn)
  23. local selectNum = self.controller:GetselectNum()
  24. local maxNum = self.controller:GetmaxNum()
  25. if selectNum <= 0 then
  26. self.box.numBox.num.text.text = string.format("<color=red>1</color>")
  27. self.btnSupport.number.text.text = string.format("<color=red>1</color>")
  28. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnMinus,true)
  29. self.box.numBox.btnMinus.button.interactable = false
  30. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnPlus,true)
  31. self.box.numBox.btnPlus.button.interactable = false
  32. else
  33. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnMinus,selectNum <= 1)
  34. self.box.numBox.btnMinus.button.interactable = not (selectNum <= 1)
  35. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnPlus,selectNum == maxNum)
  36. self.box.numBox.btnPlus.button.interactable = not (selectNum == maxNum)
  37. self.box.numBox.num.text.text = selectNum
  38. self.btnSupport.number.text.text = selectNum
  39. end
  40. self.box.numBox.slider.slider.maxValue = maxNum == 0 and 1 or maxNum
  41. self.box.numBox.slider.slider.value = maxNum == 0 and 1 or maxNum
  42. end
  43. function UIIdolSupportTipsView:RemoveEventListener()
  44. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  45. end
  46. function UIIdolSupportTipsView:AddUIEventListener()
  47. self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  48. self.uiBase:AddButtonEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  49. self.uiBase:AddButtonEventListener(self.btnSupport.button, self, self.OnClickSupportBtn)
  50. self.uiBase:AddButtonEventListener(self.box.numBox.btnMinus.button, self, self.OnClickMinusBtn)
  51. self.uiBase:AddButtonEventListener(self.box.numBox.btnPlus.button, self, self.OnClickPlusBtn)
  52. self.box.numBox.slider.slider.onValueChanged:AddListener(function(value)
  53. self:OnValueChangedSlider(value)
  54. end)
  55. end
  56. function UIIdolSupportTipsView:OnClickCloseBtn()
  57. self:UIClose()
  58. end
  59. function UIIdolSupportTipsView:OnClickMinusBtn()
  60. local selectNum = self.controller:GetselectNum()
  61. selectNum = selectNum - 1
  62. if selectNum <= 0 then
  63. selectNum = 1
  64. end
  65. self.box.numBox.slider.slider.value = selectNum
  66. end
  67. function UIIdolSupportTipsView:OnValueChangedSlider(value)
  68. local selectNum = self.controller:GetselectNum()
  69. local maxNum = self.controller:GetmaxNum()
  70. selectNum = value
  71. if value <= 0 then
  72. selectNum = 1
  73. end
  74. self.box.numBox.slider.slider.value = selectNum
  75. self.controller:SetselectNum(selectNum)
  76. local cfgNum = CommonUtil.GetOwnResCountByItemId(238)
  77. if cfgNum <= 0 then
  78. self.box.numBox.num.text.text = string.format("<color=red>1</color>")
  79. self.btnSupport.number.text.text = string.format("<color=red>1</color>")
  80. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnMinus,true)
  81. self.box.numBox.btnMinus.button.interactable = false
  82. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnPlus,true)
  83. self.box.numBox.btnPlus.button.interactable = false
  84. else
  85. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnMinus,selectNum <= 1)
  86. self.box.numBox.btnMinus.button.interactable = not (selectNum <= 1)
  87. CommonUtil.SetTotalChildrenGray(self.box.numBox.btnPlus,selectNum == maxNum)
  88. self.box.numBox.btnPlus.button.interactable = not (selectNum == maxNum)
  89. self.box.numBox.num.text.text = selectNum
  90. self.btnSupport.number.text.text = selectNum
  91. end
  92. end
  93. function UIIdolSupportTipsView:OnClickOtherHeadBtn(button,params)
  94. local uid = params[0]
  95. local selfUid = ManagerContainer.DataMgr.UserData:GetUserId()
  96. if selfUid == uid then
  97. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay("ChatError1")
  98. return
  99. end
  100. ManagerContainer.LuaUIMgr:OpenRoleMessagePanel(uid)
  101. end
  102. function UIIdolSupportTipsView:OnClickPlusBtn()
  103. local selectNum = self.controller:GetselectNum()
  104. local maxNum = self.controller:GetmaxNum()
  105. selectNum = selectNum + 1
  106. if selectNum >= maxNum then
  107. selectNum = maxNum
  108. end
  109. self.box.numBox.slider.slider.value = selectNum
  110. end
  111. function UIIdolSupportTipsView:OnClickSupportBtn()
  112. local cfgNum = CommonUtil.GetOwnResCountByItemId(238)
  113. if cfgNum <= 0 then
  114. CommonUtil.ItemNotEnoughHandle(self.controller:GetCfgId(), self.uiData.id)
  115. else
  116. self.controller:CallBack()
  117. self:UIClose()
  118. end
  119. end
  120. function UIIdolSupportTipsView:OnHide()
  121. end
  122. function UIIdolSupportTipsView:OnShow(data)
  123. end
  124. function UIIdolSupportTipsView:OnClose()
  125. end
  126. function UIIdolSupportTipsView:OnDispose()
  127. self.controller:OnDispose()
  128. self.box.numBox.slider.slider.onValueChanged:RemoveAllListeners()
  129. end
  130. return UIIdolSupportTipsView