源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 line
3.3 KiB

  1. --彩钻礼包
  2. GiftDiamondView = GiftDiamondView or BaseClass(BaseView)
  3. function GiftDiamondView:__init()
  4. self.base_file = "gift"
  5. self.layout_file = "GiftDiamondView"
  6. self.layer_name = "Activity"
  7. self.is_set_zdepth = true
  8. self.destroy_imm = true
  9. self.use_background = true
  10. self.close_mode = CloseMode.CloseDestroy
  11. self.model = GiftModel:getInstance()
  12. self.reward_item_list = {}
  13. self.load_callback = function ()
  14. self:LoadSuccess()
  15. self:addEvents()
  16. end
  17. self.open_callback = function ()
  18. self:setData()
  19. end
  20. self.close_callback = function ()
  21. end
  22. self.destroy_callback = function ()
  23. self:DestroySuccess()
  24. end
  25. end
  26. function GiftDiamondView:Open(goods_vo)
  27. self.goods_vo = goods_vo
  28. BaseView.Open(self)
  29. end
  30. function GiftDiamondView:DestroySuccess()
  31. for _, item in pairs(self.reward_item_list) do
  32. item:ReleaseObj()
  33. end
  34. self.reward_item_list = {}
  35. end
  36. function GiftDiamondView:LoadSuccess()
  37. self.close_btn = self:GetChild("close_btn").gameObject
  38. self.name_text = self:GetChild("name_text"):GetComponent("Text")
  39. self.tips_text = self:GetChild("tips_text"):GetComponent("Text")
  40. self.sure_btn = self:GetChild("sure_btn").gameObject
  41. self.count_1 = self:GetChild("count_1"):GetComponent("Text")
  42. self.count_2 = self:GetChild("count_2"):GetComponent("Text")
  43. self.scroll_view = self:GetChild("scroll_view/Viewport/Content")
  44. self.scroll_trans = self:GetChild("scroll_view").transform
  45. self.scroll_size = self.scroll_trans.sizeDelta
  46. self.delete_line = self:GetChild("delete_line")
  47. self.icon_1 = self:GetChild("icon_1"):GetComponent("Image")
  48. self.icon_2 = self:GetChild("icon_2"):GetComponent("Image")
  49. end
  50. function GiftDiamondView:addEvents()
  51. local function click_func(target)
  52. if target == self.close_btn then
  53. self:Close()
  54. elseif target == self.sure_btn then
  55. GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15050, self.goods_vo.goods_id, 1, self.goods_vo.type_id)
  56. end
  57. end
  58. AddClickEvent(self.close_btn, click_func)
  59. AddClickEvent(self.sure_btn, click_func)
  60. end
  61. function GiftDiamondView:setData()
  62. if self.goods_vo == nil then return end
  63. local kind, list = self.model:getGiftConfig(self.goods_vo.type_id)
  64. self.count_1.text = list.diamond_list.old_cost
  65. local long = self.count_1:GetComponent("Text").preferredWidth + 3
  66. self.delete_line.transform.sizeDelta = Vector2(50+long, 2)
  67. self.count_2.text = list.diamond_list.now_cost
  68. self.tips_text.text = "消耗<color=#"..ColorUtil.GREEN..">"..list.diamond_list.now_cost.."彩钻</color>开启礼包即可获得"
  69. local path = list.diamond_list.cost_type == 1 and "com_ui_4" or "com_ui_5"
  70. lua_resM:setImageSprite(self, self.icon_1, "common_asset", path)
  71. lua_resM:setImageSprite(self, self.icon_2, "common_asset", path)
  72. self:setRewardShow()
  73. end
  74. function GiftDiamondView:setRewardShow()
  75. local list = self.model:getRewardConfig(self.goods_vo.type_id)
  76. for i,v in ipairs(list.fixed_list) do
  77. local item = self.reward_item_list[i]
  78. if not item then
  79. item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.scroll_view, nil, self.layer_name)
  80. item:SetItemSize(82, 82)
  81. -- item:SetPosition(85*(i-1)+5, -10)
  82. self.reward_item_list[i] = item
  83. end
  84. item:SetData(v.goods_id)
  85. item:SetNumText(v.goods_count)
  86. end
  87. local now = 100*#list.fixed_list
  88. local sx = now > self.scroll_size.x and now or self.scroll_size.x
  89. self.scroll_view.sizeDelta = Vector2(sx, 100)
  90. end