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

155 rivejä
5.2 KiB

4 viikkoa sitten
  1. --[[@------------------------------------------------------------------
  2. @description:
  3. @author:huangcong
  4. ----------------------------------------------------------------------]]
  5. GuildSupportInfoMainGiftView = GuildSupportInfoMainGiftView or BaseClass(BaseItem)
  6. local GuildSupportInfoMainGiftView = GuildSupportInfoMainGiftView
  7. function GuildSupportInfoMainGiftView:__init()
  8. self.base_file = "guild"
  9. self.layout_file = "GuildSupportInfoMainGiftView"
  10. self.model = GuildModel:getInstance()
  11. self.main_vo = RoleManager:getInstance():GetMainRoleVo()
  12. MsgManager:getInstance():Remove(Config.ConfigMainIcon.TipType.supportThank)
  13. self:Load()
  14. end
  15. function GuildSupportInfoMainGiftView:Load_callback()
  16. local nodes = {
  17. "itemScroll","itemScroll/Viewport/itemCon",
  18. "nodata_bg:obj:raw","nodata_bg/nodata_desc:tmp","nodata_bg/nodata_desc_click:tmp:obj","nodata_bg/nodata_desc_click2:tmp:obj",
  19. }
  20. self:GetChildren(nodes)
  21. lua_resM:setOutsideRawImage(self, self.nodata_bg_raw, GameResPath.GetViewBigBg("guild_support_empty_bg"),false)
  22. if self.main_vo.guild_id > 0 then
  23. self.nodata_desc_click_obj:SetActive(false)
  24. self.nodata_desc_click2_obj:SetActive(true)
  25. self.nodata_bg_obj:SetActive(false)
  26. self.nodata_desc_tmp.text = ""
  27. else--显示超链接
  28. self.nodata_bg_obj:SetActive(true)
  29. self.nodata_desc_click_obj:SetActive(true)
  30. self.nodata_desc_click2_obj:SetActive(false)
  31. self.nodata_desc_tmp.text = "未加入社团~\n请前往 加入或创建社团."
  32. end
  33. self.nodata_desc_click_tmp.text = "<u>社团列表</u>"
  34. self.model:Fire(GuildModel.REQUEST_CCMD_EVENT,40069)
  35. if self.need_refreshData then
  36. self:SetData(self.speaciel_data)
  37. end
  38. self:InitEvent()
  39. end
  40. function GuildSupportInfoMainGiftView:__delete()
  41. end
  42. function GuildSupportInfoMainGiftView:InitEvent()
  43. local function onBtnClickHandler(target,x,y)
  44. if target == self.nodata_desc_click_obj then--加入社团
  45. self.model:Fire(GuildModel.CLOSE_GUILD_SUPPORT_IFNO_VIEW)
  46. OpenFun.Open(400,0)
  47. elseif target == self.nodata_desc_click2_obj then--更多协助
  48. self.model:Fire(GuildModel.OPEN_GUILD_SUPPORT_IFNO_VIEW,GuildModel.SupportTab.List)
  49. end
  50. end
  51. AddClickEvent(self.nodata_desc_click_obj, onBtnClickHandler, LuaSoundManager.SOUND_UI.NONE)
  52. AddClickEvent(self.nodata_desc_click2_obj, onBtnClickHandler, LuaSoundManager.SOUND_UI.NONE)
  53. local function updateDataInfo( )
  54. if not self.is_loaded then
  55. return
  56. end
  57. if self.main_vo.guild_id > 0 then
  58. self:UpdateItemList()
  59. end
  60. end
  61. self:BindEvent(self.model, GuildModel.UPDATE_SUPPORT_GIFT_LIST, updateDataInfo)--刷新协助信息列表
  62. end
  63. function GuildSupportInfoMainGiftView:SetData(speaciel_data)
  64. self.speaciel_data = speaciel_data or self.speaciel_data
  65. if self.is_loaded then
  66. self.need_refreshData = false
  67. else
  68. self.need_refreshData = true
  69. return
  70. end
  71. if self.main_vo.guild_id > 0 then
  72. self:UpdateItemList()
  73. end
  74. end
  75. --更新协助信息item
  76. function GuildSupportInfoMainGiftView:UpdateItemList( )
  77. local item_list = self.model:GetSupportGiftList() or {}
  78. -- print("huangcong:GuildSupportInfoMainGiftView [start:132] :", item_list)
  79. -- PrintTable(item_list)
  80. -- print("huangcong:GuildSupportInfoMainGiftView [end]")
  81. if not item_list or TableSize(item_list) == 0 then
  82. self.nodata_bg_obj:SetActive(true)
  83. self.nodata_desc_tmp.text = "未收到感谢~\n快前往 帮助他人吧~"
  84. self.nodata_desc_click2_tmp.text = "<u>协助列表</u>"
  85. else
  86. self.nodata_bg_obj:SetActive(false)
  87. self.nodata_desc_tmp.text = ""
  88. self.nodata_desc_click2_tmp.text = ""
  89. end
  90. if self.speaciel_data then
  91. for i,v in ipairs(item_list) do
  92. if self.speaciel_data.support_id == v.support_id and self.speaciel_data.type == v.type
  93. and v.is_get == 0 then
  94. self.speaciel_data = nil
  95. local data = DeepCopy(v)
  96. data.role_list = {
  97. {
  98. name = v.name,
  99. picture = v.picture,
  100. role_id = v.role_id,
  101. sex = v.sex,
  102. sup_vip_type = v.sup_vip_type,
  103. vip_flag = v.vip_flag,
  104. chat_msg = v.chat_msg,
  105. profile_photo_id = v.profile_photo_id,
  106. dress_board_id = v.dress_board_id,
  107. }
  108. }
  109. self.model:Fire(GuildModel.OPEN_GUILD_SUPPORT_THANK_VIEW,GuildModel.SupportType.Award,data)
  110. break
  111. end
  112. end
  113. end
  114. if not self.item_creator_com then
  115. self.item_creator_com = self:AddUIComponent(UI.ItemListCreator)
  116. else
  117. -- self.item_creator_com:Reset()
  118. end
  119. local info = {
  120. data_list = item_list,
  121. item_con = self.itemCon,
  122. item_class = GuildSupportInfoMainGiftItem,
  123. item_height = GuildSupportInfoMainGiftItem.Height,
  124. item_width = GuildSupportInfoMainGiftItem.Width,
  125. start_x = 2,
  126. start_y = -2,
  127. space_x = 18,
  128. space_y = 15,
  129. scroll_view = self.itemScroll,
  130. create_frequency = 0.02,
  131. reuse_item_num = 12,
  132. show_col = 4,
  133. on_update_item = function(item, i, v)
  134. item:SetData(v,i)
  135. end,
  136. }
  137. self.item_creator_com:UpdateItems(info)
  138. end
  139. function GuildSupportInfoMainGiftView:BtnCloseEvt()--关闭按钮回调
  140. self.model:Fire(GuildModel.CLOSE_GUILD_SUPPORT_IFNO_VIEW)
  141. end