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

101 lines
3.2 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 跨服社团排行玩法奖励预览界面
  4. -- *>
  5. GuildCSGRRewardView = GuildCSGRRewardView or BaseClass(BaseView)
  6. local GuildCSGRRewardView = GuildCSGRRewardView
  7. function GuildCSGRRewardView:__init()
  8. self.base_file = "guildCSGR"
  9. self.layout_file = "GuildCSGRRewardView"
  10. self.layer_name = "Activity"
  11. self.destroy_imm = true
  12. self.use_background = true --全屏界面默认使用这个参数,非全屏界面自行设置
  13. self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
  14. self.tab_list = {
  15. {id = 1, name = "1号战场"},
  16. {id = 2, name = "其他战场"},
  17. {id = 3, name = "个人排行"},
  18. }
  19. self.tab_index = 1 -- 当前页签
  20. self.model = GuildModel:getInstance()
  21. -- 获取奖励配置
  22. self.guild_reward_list, self.guild_normal_reward_list, self.role_reward_list = self.model:GetCSGRRankRewardCfg()
  23. self.reward_data = {
  24. [1] = self.guild_reward_list,
  25. [2] = self.guild_normal_reward_list,
  26. [3] = self.role_reward_list,
  27. }
  28. self.load_callback = function ()
  29. self:LoadSuccess()
  30. self:AddEvent()
  31. end
  32. self.open_callback = function ( )
  33. self:SwitchTab(self.tab_index)
  34. end
  35. self.destroy_callback = function ( )
  36. self:DestroySuccess()
  37. end
  38. end
  39. function GuildCSGRRewardView:Open( )
  40. BaseView.Open(self)
  41. end
  42. function GuildCSGRRewardView:LoadSuccess()
  43. local nodes = {
  44. "content",
  45. "content/item_scroll",
  46. "content/item_scroll/Viewport/item_con",
  47. "content/tips:tmp",
  48. }
  49. self:GetChildren(nodes)
  50. local function close_callback()
  51. self:Close()
  52. end
  53. local function select_callback(index)
  54. self:SwitchTab(index)
  55. end
  56. self.tabWindowComponent = UITabWindow.New(self.transform, self.tab_list, select_callback, close_callback, self.background_wnd, self.content, UITabWindow.SizeSmall, nil, nil, false)
  57. self.tabWindowComponent:SetTitleText("奖励预览")
  58. self.tabWindowComponent:SetBackgroundRes("rw_raward_bg")
  59. self.tips_tmp.text = "奖励根据战场中<color=#fdffc2>对图腾造成的伤害</color>排名发放"
  60. end
  61. function GuildCSGRRewardView:AddEvent()
  62. end
  63. function GuildCSGRRewardView:UpdateView()
  64. self.reward_item_creator = self.reward_item_creator or self:AddUIComponent(UI.ItemListCreator)
  65. local info = {
  66. data_list = self.reward_data[self.tab_index],
  67. item_con = self.item_con,
  68. scroll_view = self.item_scroll,
  69. item_class = GuildCSGRRewardItem,
  70. item_height = 89,
  71. create_frequency = 0.01,
  72. is_scroll_back_on_update = true,
  73. alignment = UnityEngine.TextAnchor.UpperLeft,
  74. on_update_item = function(item, i, v)
  75. item:SetData(v, self.tab_index)
  76. end,
  77. }
  78. self.reward_item_creator:UpdateItems(info)
  79. end
  80. function GuildCSGRRewardView:SwitchTab(index)
  81. self.tab_index = index
  82. if self.tabWindowComponent then
  83. self.tabWindowComponent:SetTabBarIndex(self.tab_index)
  84. end
  85. self:UpdateView()
  86. end
  87. function GuildCSGRRewardView:DestroySuccess( )
  88. if self.tabWindowComponent then
  89. self.tabWindowComponent:DeleteMe()
  90. self.tabWindowComponent = nil
  91. end
  92. end