源战役客户端
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.

150 lines
3.9 KiB

  1. CapsuleEggRewardPreview = CapsuleEggRewardPreview or BaseClass(BaseView)
  2. local CapsuleEggRewardPreview = CapsuleEggRewardPreview
  3. function CapsuleEggRewardPreview:__init()
  4. self.base_file = "capsuleEgg"
  5. self.layout_file = "CapsuleEggRewardPreview"
  6. self.layer_name = "Activity"
  7. self.destroy_imm = true
  8. self.use_background = true
  9. self.change_scene_close = true
  10. self.hide_maincancas = false --是否隐藏主界面
  11. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  12. self.need_show_money = false --是否要显示顶部的金钱栏
  13. self.is_set_zdepth = true
  14. self.model = CapsuleEggModel:getInstance()
  15. self.load_callback = function ()
  16. self:LoadSuccess()
  17. self:AddEvent()
  18. end
  19. self.open_callback = function ( )
  20. self:OpenSuccess()
  21. end
  22. self.destroy_callback = function ( )
  23. self:DestroySuccess()
  24. end
  25. end
  26. function CapsuleEggRewardPreview:Open(pool_type)
  27. self.pool_type = pool_type
  28. BaseView.Open(self)
  29. end
  30. function CapsuleEggRewardPreview:LoadSuccess()
  31. local nodes = {
  32. "bg:raw", "close:obj",
  33. "ScrollView_1", "ScrollView_1/Viewport/Content_1",
  34. "ScrollView_2/Viewport/Content_2", "ScrollView_2",
  35. "ScrollView_3", "ScrollView_3/Viewport/Content_3",
  36. }
  37. self:GetChildren(nodes)
  38. lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("capsule_egg_reward_preview_bg"))
  39. end
  40. function CapsuleEggRewardPreview:AddEvent()
  41. local on_click = function ( click_obj )
  42. if self.close_obj == click_obj then
  43. self:Close()
  44. end
  45. end
  46. AddClickEvent(self.close_obj, on_click)
  47. end
  48. function CapsuleEggRewardPreview:OpenSuccess()
  49. -- 超级大奖对应档位0
  50. -- 豪华大奖对应档位1
  51. -- 欢乐大奖对应档位2
  52. local reward_list_1 = {}
  53. local reward_list_2 = {}
  54. local reward_list_3 = {}
  55. for i,v in pairs(Config.Capsuleeggreward) do
  56. if v.pool_type == self.pool_type then
  57. local reward_temp = stringtotable(v.reward)[1]
  58. if v.color == 0 then
  59. table.insert(reward_list_1,reward_temp)
  60. elseif v.color == 1 then
  61. table.insert(reward_list_2,reward_temp)
  62. elseif v.color == 2 then
  63. table.insert(reward_list_3,reward_temp)
  64. end
  65. end
  66. end
  67. local big_reward_cfg = self.model.capsule_egg_kv_cfg["giving_reward"]
  68. if big_reward_cfg then
  69. local big_reward_data = stringtotable(big_reward_cfg.value)[1]
  70. table.insert(reward_list_1,big_reward_data)
  71. end
  72. if not self.reward_list_com_1 then
  73. self.reward_list_com_1 = self:AddUIComponent(UI.ItemListCreator)
  74. end
  75. local info = {
  76. data_list = reward_list_1,
  77. item_con = self.Content_1,
  78. obj_pool_type = UIObjPool.UIType.AwardItem,
  79. item_width = 78,
  80. space_x = 38,
  81. start_x = 27.5,
  82. start_y = -11,
  83. scroll_view = self.ScrollView_1,
  84. create_frequency = 0.01,
  85. on_update_item = function(item, i, v)
  86. item:SetItemSize(78, 78)
  87. item:SetData(v[2])
  88. end,
  89. }
  90. self.reward_list_com_1:UpdateItems(info)
  91. if not self.reward_list_com_2 then
  92. self.reward_list_com_2 = self:AddUIComponent(UI.ItemListCreator)
  93. end
  94. local info = {
  95. data_list = reward_list_2,
  96. item_con = self.Content_2,
  97. obj_pool_type = UIObjPool.UIType.AwardItem,
  98. item_width = 78+10,
  99. space_x = 38-10,
  100. start_x = 11,
  101. start_y = -11,
  102. scroll_view = self.ScrollView_2,
  103. create_frequency = 0.01,
  104. on_update_item = function(item, i, v)
  105. item:SetItemSize(78, 78)
  106. item:SetData(v[2])
  107. end,
  108. }
  109. self.reward_list_com_2:UpdateItems(info)
  110. if not self.reward_list_com_3 then
  111. self.reward_list_com_3 = self:AddUIComponent(UI.ItemListCreator)
  112. end
  113. local info = {
  114. data_list = reward_list_3,
  115. item_con = self.Content_3,
  116. obj_pool_type = UIObjPool.UIType.AwardItem,
  117. item_width = 78+10,
  118. space_x = 38-10,
  119. start_x = 15,
  120. start_y = -11,
  121. scroll_view = self.ScrollView_3,
  122. create_frequency = 0.01,
  123. on_update_item = function(item, i, v)
  124. item:SetItemSize(78, 78)
  125. item:SetData(v[2])
  126. end,
  127. }
  128. self.reward_list_com_3:UpdateItems(info)
  129. end
  130. function CapsuleEggRewardPreview:DestroySuccess( )
  131. if self.tabWindowComponent then
  132. self.tabWindowComponent:DeleteMe()
  133. end
  134. self.tabWindowComponent = nil
  135. end