UIChipDecomposeTipsView.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. local UIChipDecomposeTipsView = require("UIChip/UIChipDecomposeTipsView_Generate")
  2. local IconItemCtr = require("Common/IconItemCtr")
  3. function UIChipDecomposeTipsView:OnAwake(data)
  4. self.controller = require("UIChip/UIChipDecomposeTipsCtr"):new()
  5. self.controller:Init(self)
  6. self.controller:SetData(data)
  7. end
  8. function UIChipDecomposeTipsView:AddEventListener()
  9. end
  10. function UIChipDecomposeTipsView: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 UIChipDecomposeTipsView:Init()
  21. local isSelected = self.controller:IsSelected()
  22. for i = 1, 5 do
  23. local num = self.controller:GetDecomposeQualityNum(i)
  24. local quality = self['quality' .. i]
  25. if num <= 0 then
  26. quality:SetActive(false)
  27. else
  28. quality:SetActive(true)
  29. if isSelected then
  30. quality.checkBox:SetActive(false)
  31. else
  32. quality.checkBox:SetActive(true)
  33. quality.checkBox.toggle.isOn = self.controller:GetSelectedQuality(i)
  34. end
  35. quality.content.text.text = I18N.T('Chipresolve_' .. i) .. ' x' .. tostring(num)
  36. end
  37. end
  38. local awards = self.controller:GetDecomposeAwards()
  39. for i = 1,3 do
  40. self["award"..i]:SetActive(i <= #awards)
  41. if i <= #awards then
  42. local data = {cfgId = awards[i][1], num = awards[i][2]}
  43. local itemLua = self["awardItem"..i]
  44. IconItemCtr:SetData(self, itemLua, data, Enum.ItemIEnterType.CardCompose, self, self.ShowItemTips)
  45. self["award"..i].text.text.text = data.num
  46. end
  47. end
  48. end
  49. function UIChipDecomposeTipsView:RemoveEventListener()
  50. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  51. end
  52. function UIChipDecomposeTipsView:AddUIEventListener()
  53. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  54. for i = 1, 5 do
  55. self['quality' .. i].checkBox.toggle.onValueChanged:AddListener(function(isOn)
  56. self.controller:SetSelectedQuality(i, isOn)
  57. end)
  58. end
  59. self.uiBase:AddButtonEventListener(self.btnClose.button, function (buttton, params)
  60. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.RESET_CHIP_DECOMPOSE_CACHE_COUNTS)
  61. self:UIClose()
  62. end)
  63. self.uiBase:AddButtonEventListener(self.alpha.button, function (buttton, params)
  64. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.RESET_CHIP_DECOMPOSE_CACHE_COUNTS)
  65. self:UIClose()
  66. end)
  67. self.uiBase:AddButtonEventListener(self.btnCancle.button, function (buttton, params)
  68. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.RESET_CHIP_DECOMPOSE_CACHE_COUNTS)
  69. self:UIClose()
  70. end)
  71. self.uiBase:AddButtonEventListener(self.btnDecompose.button, function (buttton, params)
  72. local errorCode = self.controller:GetErrorCode()
  73. if errorCode == 0 then
  74. self:SureDecompose()
  75. elseif errorCode == 1 then
  76. self:UIHide()
  77. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIChipProduceNotice, {self, self.SureDecompose, self.CancelDecompose})
  78. elseif errorCode == 2 then
  79. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('ChipDecomposeTips03')
  80. elseif errorCode == 3 then
  81. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('ChipDecomposeTips04')
  82. end
  83. end)
  84. end
  85. function UIChipDecomposeTipsView:OnHide()
  86. end
  87. function UIChipDecomposeTipsView:OnShow(data)
  88. self.controller:SetData(data)
  89. self:Init()
  90. end
  91. function UIChipDecomposeTipsView:OnClose()
  92. end
  93. function UIChipDecomposeTipsView:OnDispose()
  94. end
  95. function UIChipDecomposeTipsView:SureDecompose()
  96. self.controller:SendDecompose()
  97. self:UIClose()
  98. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.RESET_CHIP_DECOMPOSE_CACHE_COUNTS)
  99. end
  100. function UIChipDecomposeTipsView:CancelDecompose()
  101. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIChipDecomposeTips)
  102. end
  103. return UIChipDecomposeTipsView