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

126 lines
3.7 KiB

  1. --[[@------------------------------------------------------------------
  2. @description:
  3. @author:huangcong
  4. ----------------------------------------------------------------------]]
  5. PowerTurnTableExchangeView = PowerTurnTableExchangeView or BaseClass(BaseView)
  6. local PowerTurnTableExchangeView = PowerTurnTableExchangeView
  7. function PowerTurnTableExchangeView:__init()
  8. self.base_file = "powerTurnTable"
  9. self.layout_file = "PowerTurnTableExchangeView"
  10. self.layer_name = "Activity"
  11. self.destroy_imm = true
  12. self.use_background = true
  13. self.change_scene_close = true
  14. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  15. self.need_show_money = false --是否要显示顶部的金钱栏
  16. self.model = PowerTurnTableModel:getInstance()
  17. self.is_set_zdepth = true
  18. self.blur_activity_bg = true
  19. self.base_type = CustomActivityModel.CustomActBaseType.POWER_TURNTABLE
  20. self.sub_type = CustomActivityModel:getInstance():getActMinSubType(self.base_type)
  21. self.load_callback = function ()
  22. self:LoadSuccess()
  23. self:AddEvent()
  24. end
  25. self.open_callback = function ( )
  26. self:OpenSuccess()
  27. end
  28. self.destroy_callback = function ( )
  29. self:DestroySuccess()
  30. end
  31. end
  32. function PowerTurnTableExchangeView:DestroySuccess()
  33. end
  34. function PowerTurnTableExchangeView:LoadSuccess()
  35. local nodes = {
  36. "itemScroll/Viewport/itemCon", "bg:raw", "myScore:tmp", "itemScroll", "closeBtn:obj",
  37. }
  38. self:GetChildren(nodes)
  39. lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("powerTurnTable_exchange_bg"),false)
  40. if self.need_load_again then
  41. self:UpdateView()
  42. end
  43. end
  44. function PowerTurnTableExchangeView:AddEvent()
  45. local function onBtnClickHandler(target,x,y)
  46. if target == self.closeBtn_obj then
  47. self:Close()
  48. end
  49. end
  50. AddClickEvent(self.closeBtn_obj,onBtnClickHandler,1)
  51. local update_view_func = function (subtype)
  52. if self.sub_type == subtype and not self._use_delete_method then
  53. self:UpdateExchangeList()
  54. end
  55. end
  56. self:BindEvent(self.model, PowerTurnTableModel.UPDATE_EXCHANGE_VIEW, update_view_func)----更新红点顺便更新界面
  57. end
  58. function PowerTurnTableExchangeView:Open( sub_type )
  59. self.sub_type = sub_type or self.sub_type
  60. BaseView.Open(self)
  61. end
  62. function PowerTurnTableExchangeView:OpenSuccess( )
  63. self:UpdateView()
  64. end
  65. function PowerTurnTableExchangeView:UpdateView( )
  66. if not self.is_loaded then
  67. self.need_load_again = true
  68. return
  69. end
  70. self.model:Fire(PowerTurnTableModel.REQUEST_INFO,33502,self.sub_type)
  71. end
  72. --更新筛选列表
  73. function PowerTurnTableExchangeView:UpdateExchangeList( )
  74. local server_info = self.model:GetPowerTurnTableInfo(self.sub_type)
  75. self.myScore_tmp.text = string.format("我的积分:%s",HtmlColorTxt(server_info and server_info.score or 0, ColorUtil.GREEN_DARK))
  76. local item_list = self.model:GetExchangeInfoList(self.sub_type)
  77. if not item_list then return end
  78. -- print("huangcong:HopeGiftAwardShowView [88]: ",item_list)
  79. -- PrintTable(item_list)
  80. if not item_list or TableSize(item_list) == 0 then
  81. return
  82. end
  83. local function final_callback( ... )
  84. end
  85. if not self.item_list_com then
  86. self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
  87. else
  88. self.item_list_com:Reset()
  89. end
  90. local info = {
  91. data_list = item_list,
  92. item_con = self.itemCon,
  93. item_class = PowerTurnTableExchangeItem,
  94. item_height = PowerTurnTableExchangeItem.Height,
  95. item_width = PowerTurnTableExchangeItem.Width,
  96. show_col = 2,
  97. start_x = 1,
  98. start_y = -1,
  99. space_x = 1,
  100. space_y = 5,
  101. scroll_view = self.itemScroll.transform,
  102. create_frequency = 0,
  103. final_callback = final_callback,
  104. on_update_item = function(item, i, v)
  105. item:SetData(v,i,self.sub_type)
  106. end,
  107. }
  108. self.item_list_com:UpdateItems(info)
  109. end