源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.7 KiB

  1. CSGWarRewardItem = CSGWarRewardItem or BaseClass(BaseItem)
  2. local CSGWarRewardItem = CSGWarRewardItem
  3. function CSGWarRewardItem:__init()
  4. self.base_file = "CSGWar"
  5. self.layout_file = "CSGWarRewardItem"
  6. self.model = CSGWarModel:GetInstance()
  7. self.item_list = {}
  8. self:Load()
  9. end
  10. function CSGWarRewardItem:Load_callback()
  11. self.nodes = {
  12. "name_text:tmp", "item_scroll", "item_scroll/Viewport/item_con",
  13. }
  14. self:GetChildren(self.nodes)
  15. self:AddEvents()
  16. if self.need_refreshData then
  17. self:UpdateView()
  18. end
  19. end
  20. function CSGWarRewardItem:AddEvents( )
  21. end
  22. function CSGWarRewardItem:UpdateView( )
  23. local data = self.data == "left" and CSGWarConst.LEFT_REWARD or CSGWarConst.RIGHT_REWARD
  24. local cfg = data[self.index]
  25. local x_offset = 90
  26. self.name_text_tmp.text = cfg.name
  27. for i,v in ipairs(cfg.reward) do
  28. local item = self.item_list[i]
  29. if not item then
  30. item = UIObjPool:PopItem(UIObjPool.UIType.AwardItem, self.item_con)
  31. item:SetItemSize(84,84)
  32. item:SetPosition((i-1)*x_offset, 0)
  33. self.item_list[i] = item
  34. end
  35. item:SetData(v[2],v[3])
  36. --是否有主副战区标识
  37. -- if v[4] == 1 then
  38. -- item:SetNumLimitVisible(true,10)
  39. -- elseif v[4] == 2 then
  40. -- item:SetNumLimitVisible(true,11)
  41. -- else
  42. -- item:SetNumLimitVisible(false)
  43. -- end
  44. end
  45. SetSizeDeltaX(self.item_con, #cfg.reward * x_offset)
  46. end
  47. function CSGWarRewardItem:SetData( data,index )
  48. self.data = data
  49. self.index = index
  50. if self.is_loaded then
  51. self.need_refreshData = false
  52. self:UpdateView()
  53. else
  54. self.need_refreshData = true
  55. end
  56. end
  57. function CSGWarRewardItem:__delete( )
  58. for i,v in ipairs(self.item_list) do
  59. UIObjPool:PushItem(UIObjPool.UIType.AwardItem, v)
  60. v = nil
  61. end
  62. self.item_list = {}
  63. end