UICardBlessTipsView.lua 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. local UICardBlessTipsView = require("UIRoleMain/UICardBlessTipsView_Generate")
  2. function UICardBlessTipsView:OnAwake(data)
  3. self.controller = require("UIRoleMain/UICardBlessTipsCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UICardBlessTipsView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UICardBlessTipsView: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 UICardBlessTipsView:Init()
  21. self:Refresh()
  22. end
  23. function UICardBlessTipsView:Refresh()
  24. local curLv, isMax = self.controller:GetCurCardSuitLv()
  25. local cfgData = ManagerContainer.CfgMgr:GetCardSuitNewCfgById(curLv)
  26. self:RefreshTop(curLv, isMax, cfgData)
  27. self:RefreshAttrs(curLv, isMax, cfgData)
  28. end
  29. function UICardBlessTipsView:RefreshTop(curLv, isMax, cfgData)
  30. local allCfgDatas = ManagerContainer.CfgMgr:GetAllCardSuitNewCfg()
  31. local state = self.controller:GetState()
  32. if not state then
  33. curLv = curLv - 1
  34. end
  35. self.cardBlessLv.lv0:SetActive(curLv == 0)
  36. for i = 1, #allCfgDatas do
  37. if self.cardBlessLv["lv"..i] then
  38. self.cardBlessLv["lv"..i]:SetActive(curLv == i)
  39. end
  40. end
  41. end
  42. function UICardBlessTipsView:RefreshAttrs(curLv, isMax, cfgData)
  43. local curCount, totalCount = self.controller:GetSuitCount()
  44. local state = self.controller:GetState()
  45. self:RefreshLvAttrs(self.currentLv, state, curCount, totalCount, cfgData)
  46. local nextLv = curLv + 1
  47. local nextCfgData = ManagerContainer.CfgMgr:GetCardSuitNewCfgById(nextLv)
  48. self.nextLv:SetActive(state and not isMax and nextCfgData ~= nil)
  49. if state and not isMax and nextCfgData ~= nil then
  50. local totalCount, nextCount = self.controller:GetSatisfyCardCountByLv(nextLv)
  51. self:RefreshLvAttrs(self.nextLv, false, nextCount, totalCount, nextCfgData)
  52. end
  53. end
  54. function UICardBlessTipsView:RefreshLvAttrs(parent, state, curCount, totalCount, cfgData)
  55. parent.lv.text.text = I18N.SetLanguageValue("CardSuitTips1", cfgData.Id)
  56. parent.activedState:SetActive(state)
  57. parent.condition1:SetActive(#curCount >= 1)
  58. parent.condition2:SetActive(#curCount >= 2)
  59. for i = 1,#curCount do
  60. parent["condition"..i].count.text.text = curCount[i].."/"..totalCount[i]
  61. parent["condition"..i].activedState:SetActive(curCount[i]>=totalCount[i])
  62. local condition = cfgData.TriggerConditions[i]
  63. local type = condition[1]
  64. local lv = condition[2]
  65. local typeDsc = "Normal"
  66. if type == 2 then
  67. typeDsc = "Mini"
  68. elseif type == 3 then
  69. typeDsc = "Mvp"
  70. end
  71. parent["condition"..i].dscAttr.text.text = I18N.SetLanguageValue("CardSuitTips", lv, typeDsc)
  72. end
  73. local color = state and Constant.GreenColorText or Constant.GrayColorText
  74. for i = 1, 5 do
  75. local attr = cfgData.Suit1[i]
  76. local itemLua = parent["cardBlessAttrItem"..i]
  77. itemLua:SetActive(attr ~= nil)
  78. if attr then
  79. local attrId = attr[1]
  80. local attrNum = attr[2]*0.0001
  81. attrNum = attrId > 21 and CommonUtil.GetPreciseDecimal(attrNum, 3) or math.floor(attrNum)
  82. itemLua.text.text.text = I18N.T("Attr_" .. attrId)
  83. itemLua.number.text.text = CommonUtil.HeroAttrFormatValue(attrId, attrNum, true)
  84. CommonUtil.SetTextColor(itemLua.text.text, color)
  85. CommonUtil.SetTextColor(itemLua.number.text, color)
  86. end
  87. end
  88. end
  89. function UICardBlessTipsView:RemoveEventListener()
  90. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  91. end
  92. function UICardBlessTipsView:AddUIEventListener()
  93. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self,self.OnCloseClick)
  94. self.uiBase:AddButtonEventListener(self.btnClose.button,self,self.OnCloseClick)
  95. end
  96. function UICardBlessTipsView:OnCloseClick()
  97. self:UIClose()
  98. end
  99. function UICardBlessTipsView:OnHide()
  100. end
  101. function UICardBlessTipsView:OnShow(data)
  102. self.controller:SetData(data)
  103. end
  104. function UICardBlessTipsView:OnClose()
  105. end
  106. function UICardBlessTipsView:OnDispose()
  107. self.controller:OnDispose()
  108. end
  109. return UICardBlessTipsView