UIPveBlessTipsView.lua 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. local UIPveBlessTipsView = require("UIRoleMain/UIPveBlessTipsView_Generate")
  2. function UIPveBlessTipsView:OnAwake(data)
  3. self.controller = require("UIRoleMain/UIPveBlessTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIPveBlessTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.EID_SKILL_CHANGED, function()
  10. self:Refresh()
  11. end)
  12. end
  13. function UIPveBlessTipsView:FillContent(data, uiBase)
  14. self.uiBase = uiBase
  15. local gameObject = self.uiBase:GetRoot()
  16. if gameObject ~= nil then
  17. self.gameObject = gameObject
  18. self.transform = gameObject.transform
  19. end
  20. self:InitGenerate(self.transform, data)
  21. self:Init()
  22. end
  23. function UIPveBlessTipsView:Init()
  24. self:Refresh()
  25. end
  26. function UIPveBlessTipsView:RemoveEventListener()
  27. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  28. end
  29. function UIPveBlessTipsView:Refresh()
  30. local id = self.controller:GetData()
  31. local skillData = ManagerContainer.DataMgr.UserData:GetSkillData(id)
  32. local currNerveLv = skillData:GetCurrNerveLv()
  33. local allCfgDatas = ManagerContainer.CfgMgr:GetAllSkillSuitNewCfg()
  34. for i = 1, #allCfgDatas do
  35. if self.pveBlessLv["lv"..(i - 1)] then
  36. self.pveBlessLv["lv"..(i - 1)]:SetActive(currNerveLv == i)
  37. end
  38. end
  39. if currNerveLv == 1 then
  40. self.currentLv:SetActive(false)
  41. self.nextLv:SetActive(true)
  42. self:RefreshInfo(self.nextLv,currNerveLv + 1,skillData)
  43. elseif #allCfgDatas == currNerveLv then
  44. self.currentLv:SetActive(true)
  45. self.nextLv:SetActive(false)
  46. self:RefreshInfo(self.currentLv,currNerveLv,skillData,true)
  47. else
  48. if currNerveLv == 0 then
  49. return
  50. end
  51. self.currentLv:SetActive(true)
  52. self.nextLv:SetActive(true)
  53. self:RefreshInfo(self.currentLv,currNerveLv,skillData,true)
  54. self:RefreshInfo(self.nextLv,currNerveLv + 1,skillData)
  55. end
  56. end
  57. function UIPveBlessTipsView:AddUIEventListener()
  58. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self,self.OnCloseClick)
  59. self.uiBase:AddButtonEventListener(self.btnClose.button,self,self.OnCloseClick)
  60. end
  61. function UIPveBlessTipsView:OnCloseClick()
  62. self:UIClose()
  63. end
  64. function UIPveBlessTipsView:RefreshInfo(item,currLv,skillData,state)
  65. local color = state and Constant.GreenColorText or Constant.GrayColorText
  66. local skillSuitData = ManagerContainer.CfgMgr:GetSkillSuitNewCfgById(currLv)
  67. local Suit1 = skillSuitData.Suit1
  68. local condition = skillSuitData.TriggerConditions[1]
  69. if condition then
  70. item.dscAttr.text.text = I18N.SetLanguageValue("SkillSuit",condition[2])
  71. end
  72. local currData = skillData:GetNerveCurrDataById(currLv)
  73. if currData then
  74. local currcount = currData.currcount or 0
  75. local needNum = currData.needNum or 0
  76. item.count.text.text = "("..currcount.."/"..needNum..")"
  77. end
  78. item.lv.text.text = I18N.SetLanguageValue("CardSuitTips1",currLv - 1)
  79. item.activedState:SetActive(state)
  80. if Suit1 and #Suit1 > 0 then
  81. for i = 1, #Suit1 do
  82. if item["cardBlessAttrItem"..i] then
  83. local key = Suit1[i][1]
  84. local val = Suit1[i][2] or 0
  85. local itemlua = item["cardBlessAttrItem"..i]
  86. itemlua.text.text.text = I18N.T("SkillSuitNew_" .. key)
  87. itemlua.number.text.text = (SDataUtil.IsGreater(val, 0) and '+' or (SDataUtil.IsLess(val, 0) and '-'or '')) .. val .. "%"
  88. CommonUtil.SetTextColor(itemlua.text.text, color)
  89. CommonUtil.SetTextColor(itemlua.number.text, color)
  90. end
  91. end
  92. end
  93. end
  94. function UIPveBlessTipsView:OnHide()
  95. end
  96. function UIPveBlessTipsView:OnShow(data)
  97. self.controller:SetData(data)
  98. end
  99. function UIPveBlessTipsView:OnClose()
  100. end
  101. function UIPveBlessTipsView:OnDispose()
  102. self.controller:OnDispose()
  103. end
  104. return UIPveBlessTipsView