UIWjBattleBuffViewView.lua 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. local UIWjBattleBuffViewView = require("UIClimbingTower/UIWjBattleBuffViewView_Generate")
  2. function UIWjBattleBuffViewView:OnAwake(data)
  3. self.controller = require("UIClimbingTower/UIWjBattleBuffViewCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIWjBattleBuffViewView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name,UIEventNames.WJ_ON_BATTLE_CHANGE,self,self.SetItems)
  10. end
  11. function UIWjBattleBuffViewView: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 UIWjBattleBuffViewView:Init()
  22. self:SetItems()
  23. end
  24. function UIWjBattleBuffViewView:RemoveEventListener()
  25. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  26. end
  27. function UIWjBattleBuffViewView:AddUIEventListener()
  28. self.uiBase:AddButtonEventListener(self.BtnClose.button,self,self.OnClickClose)
  29. self.uiBase:AddButtonEventListener(self.btnBack.button,self,self.OnClickClose)
  30. end
  31. function UIWjBattleBuffViewView:OnHide()
  32. end
  33. function UIWjBattleBuffViewView:OnShow(data)
  34. self.controller:SetData(data)
  35. end
  36. function UIWjBattleBuffViewView:OnClose()
  37. end
  38. function UIWjBattleBuffViewView:OnDispose()
  39. self.controller:OnDispose()
  40. end
  41. function UIWjBattleBuffViewView:SetItems()
  42. local buffinfos = ManagerContainer.DataMgr.TowerDataMgr:GetCurAllBattleBuffInfo()
  43. local datalist = buffinfos.infos
  44. self.scrollView.loopHorizontalScrollRect:ClearCells()
  45. CommonUtil.LoopGridViewEleCreateNew(self,
  46. self.scrollView.loopHorizontalScrollRect,
  47. self.content.horizontalLayoutGroup,
  48. datalist,
  49. 0,
  50. self,
  51. self.UpdateItem,
  52. nil,nil,0);
  53. end
  54. function UIWjBattleBuffViewView:UpdateItem(_itemLua, _idx,_data)
  55. if not _itemLua or not _data then return end
  56. --_itemLua.gameObject:SetParent(wnd.content.transform)
  57. CommonUtil.UpdateItemPrefab(self, _itemLua, _data, Enum.ItemIEnterType.Bag,self,self.OnClickBattleBuffBtn)
  58. end
  59. function UIWjBattleBuffViewView:OnClickBattleBuffBtn(btn,data)
  60. local curdata = data[0]
  61. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(curdata.cost[1])
  62. local param = {}
  63. param[1] = I18N.T(itemCfgData.Name)
  64. param[2] = curdata.cost[2]
  65. param[3] = I18N.T('WjBattleType'..curdata.id)
  66. local tipData = {'WjBattleBuffBuy',param,curdata,self,self.BuyBattleBuf}
  67. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, tipData)
  68. end
  69. function UIWjBattleBuffViewView:OnClickClose()
  70. self:UIClose()
  71. end
  72. function UIWjBattleBuffViewView:BuyBattleBuf(data)
  73. --ManagerContainer.DataMgr.TowerDataMgr:SetCurBattleBuffInfo(data.id,data.curLv + 1)
  74. local buffs = self:CreatBuff({data.id})
  75. ManagerContainer.DataMgr.TowerDataMgr:SendWjBuffReq(buffs)
  76. end
  77. function UIWjBattleBuffViewView:CreatBuff(ids)
  78. local buffs ={}
  79. for i = 1, 3, 1 do
  80. local isup = false
  81. for j = 1, #ids, 1 do
  82. if ids[j] == i then
  83. isup = true
  84. end
  85. end
  86. if isup then
  87. buffs['buff'..i] = 1
  88. else
  89. buffs['buff'..i] = 0
  90. end
  91. end
  92. --LogError(Inspect(buffs))
  93. return buffs
  94. end
  95. return UIWjBattleBuffViewView