UISkillAdvanceTotalView.lua 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. local UISkillAdvanceTotalView = require("UISkill/UISkillAdvanceTotalView_Generate")
  2. function UISkillAdvanceTotalView:OnAwake(data)
  3. self.controller = require("UISkill/UISkillAdvanceTotalCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. local skilldata,attrs
  8. function UISkillAdvanceTotalView:AddEventListener()
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  10. end
  11. function UISkillAdvanceTotalView: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 UISkillAdvanceTotalView:Init()
  22. local data = self.controller:GetData()
  23. if data ~= nil then
  24. skilldata = data[1]
  25. local attrsdata = data[2]
  26. self.masteredSkill.loopGridView:InitGridView(0, function(gridView, itemIndex, row, column)
  27. return self:GetSkillItemByRowColumn(gridView, itemIndex, row, column)
  28. end, nil)
  29. self.property.loopGridView:InitGridView(0, function(gridView, itemIndex, row, column)
  30. return self:GetPropertyItemByRowColumn(gridView, itemIndex, row, column)
  31. end, nil)
  32. attrs = {}
  33. for k, v in pairs(attrsdata) do
  34. attrs[#attrs + 1] = {attrId = k,attrValue = v}
  35. end
  36. self.masteredSkill.loopGridView:RefreshListByIndex(skilldata and #skilldata or 0)
  37. self.property.loopGridView:RefreshListByIndex(attrs and #attrs or 0)
  38. end
  39. end
  40. function UISkillAdvanceTotalView:GetPropertyItemByRowColumn(gridView, itemIndex, row, column)
  41. local item = nil
  42. item = gridView:NewListViewItem('FashionPropertyItem')
  43. local itemLua = CommonUtil.BindGridViewItem2Lua(self, 'FashionPropertyItem', item.gameObject)
  44. itemLua.name.text.text = I18N.SetLanguageValue('Attr_'..attrs[itemIndex + 1].attrId)
  45. itemLua.number.text.text = attrs[itemIndex + 1].attrValue
  46. return item
  47. end
  48. function UISkillAdvanceTotalView:GetSkillItemByRowColumn(gridView, itemIndex, row, column)
  49. local item = nil
  50. item = gridView:NewListViewItem('MasteredSkillItem')
  51. local itemLua = CommonUtil.BindGridViewItem2Lua(self, 'MasteredSkillItem', item.gameObject)
  52. local cfgdata = ManagerContainer.CfgMgr:GetSkillCfgById(skilldata[itemIndex + 1])
  53. if not cfgdata then
  54. return
  55. end
  56. CommonUtil.LoadIcon(self, cfgdata.Icon, function (sprite)
  57. itemLua.skillItem.icon.image.sprite = sprite
  58. end)
  59. local skillTreeCfgData
  60. local skillId = cfgdata.SkillId
  61. local IsLeaderHero = math.floor(skillId / 10000) == 1
  62. if IsLeaderHero then
  63. skillTreeCfgData = ManagerContainer.CfgMgr:GetSkillTreeCfgById(skillId)
  64. else
  65. skillTreeCfgData = ManagerContainer.CfgMgr:GetParterSkillTreeCfgById(skillId)
  66. end
  67. local quality = skillTreeCfgData and skillTreeCfgData.SkillQuality or 0
  68. if quality ~= 0 then
  69. CommonUtil.LoadIcon(self, Constant.Quality_Frame_Icons[quality], function (sprite)
  70. itemLua.skillItem.frame.image.sprite = sprite
  71. end)
  72. else
  73. CommonUtil.LoadIcon(self, "FrameNew/frame_item_gray", function (sprite)
  74. itemLua.skillItem.frame.image.sprite = sprite
  75. end)
  76. end
  77. itemLua.text.text.text = I18N.SetLanguageValue(cfgdata.Name)
  78. itemLua.skillItem.num.text.text = (I18N.SetLanguageValue('Lv') .. tostring(skillTreeCfgData.MaxLv))
  79. return item
  80. end
  81. function UISkillAdvanceTotalView:RemoveEventListener()
  82. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  83. end
  84. function UISkillAdvanceTotalView:AddUIEventListener()
  85. self.uiBase:AddButtonUniqueEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  86. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickCloseBtn)
  87. end
  88. function UISkillAdvanceTotalView:OnClickCloseBtn()
  89. self:UIClose()
  90. end
  91. function UISkillAdvanceTotalView:OnHide()
  92. end
  93. function UISkillAdvanceTotalView:OnShow(data)
  94. self.controller:SetData(data)
  95. end
  96. function UISkillAdvanceTotalView:OnClose()
  97. end
  98. function UISkillAdvanceTotalView:OnDispose()
  99. self.masteredSkill.loopGridView:Dispose()
  100. self.property.loopGridView:Dispose()
  101. self.controller:OnDispose()
  102. end
  103. return UISkillAdvanceTotalView