源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

110 行
3.9 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 社团系统 社团合并请求发起界面 社团节点
  4. -- *>
  5. GuildRequestMergeItem = GuildRequestMergeItem or BaseClass(BaseItem)
  6. local GuildRequestMergeItem = GuildRequestMergeItem
  7. local SetAnchoredPositionX = SetAnchoredPositionX
  8. function GuildRequestMergeItem:__init(parent_wnd,prefab_asset,layer_name)
  9. self.base_file = "guild"
  10. self.layout_file = "GuildRequestMergeItem"
  11. self.parent_wnd = parent_wnd
  12. self.layer_name = layer_name
  13. self.model = GuildModel:getInstance()
  14. self:Load()
  15. end
  16. function GuildRequestMergeItem:Load_callback()
  17. local nodes = {
  18. "guild_icon:img",
  19. "info_con/vip_con:obj", "info_con/sex_flag:obj:img", "info_con/name:obj:tmp",
  20. "selected:obj", "applied:obj",
  21. "chat_leader_btn:obj",
  22. "power_val:txt",
  23. "guild_name:tmp", "guild_lv:tmp",
  24. "guild_num:tmp", "guild_active:tmp",
  25. }
  26. self:GetChildren(nodes)
  27. -- 加载vip节点
  28. self.vipItem = RoleVipItem.New(self.vip_con)
  29. self.vipItem:SetAnchoredPosition(0, 0)
  30. self:AddEvents()
  31. if self.need_refreshData then
  32. self:UpdateView()
  33. end
  34. end
  35. function GuildRequestMergeItem:AddEvents( )
  36. local function click_event(target)
  37. if target == self.chat_leader_btn_obj then
  38. if self.data then
  39. SocialityModel:getInstance():Fire(SocialityModel.CHAT_WITH_ROLEID, self.data.role_id)
  40. self.model:Fire(GuildModel.OPEN_REQUEST_MERGE_VIEW, false)
  41. end
  42. elseif target == self.gameObject then
  43. if self.callback and self.index then
  44. self.callback(self.index, self.data.guild_id)
  45. end
  46. end
  47. end
  48. AddClickEvent(self.chat_leader_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE)
  49. AddClickEvent(self.gameObject, click_event, LuaSoundManager.SOUND_UI.SWITCH)
  50. end
  51. function GuildRequestMergeItem:SetData(data, index, callback)
  52. self.data = data
  53. self.index = index
  54. self.callback = callback
  55. if self.is_loaded then
  56. self.need_refreshData = false
  57. self:UpdateView()
  58. else
  59. self.need_refreshData = true
  60. end
  61. end
  62. function GuildRequestMergeItem:SetSelected(bool)
  63. self.is_selected = bool
  64. if self.is_loaded then
  65. if self.selected_obj.activeSelf ~= self.is_selected then
  66. self.selected_obj:SetActive(self.is_selected)
  67. end
  68. end
  69. end
  70. function GuildRequestMergeItem:UpdateView( )
  71. -- 加载团长信息
  72. self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type)
  73. self.name_tmp.text = self.data.name
  74. lua_resM:setImageSprite(self, self.sex_flag_img, "common_asset", self.data.sex == 1 and "com_boy" or "com_girl", true)
  75. local sex_pos_x = 50 + self.name_tmp.preferredWidth
  76. SetAnchoredPositionX(self.sex_flag, sex_pos_x)
  77. self.power_val_txt.text = self.data.combat_power or self.data.sec_value
  78. -- 加载社团信息
  79. local guild_lv_cfg = Config.Guildlv[self.data.guild_lv]
  80. self.guild_name_tmp.text = self.data.guild_name
  81. self.guild_num_tmp.text = (self.data.member_num or self.data.members_num) .. "/" .. (guild_lv_cfg.member_capacity + self.data.add_mem_num) -- 数据来源有两个协议决定
  82. self.guild_lv_tmp.text = "Lv." .. self.data.guild_lv
  83. self.guild_active_tmp.text = self.data.week_labor_last or self.data.first_value -- 数据来源有两个协议决定
  84. lua_resM:setImageSprite(self, self.guild_icon_img, "guildIcon_asset", "guild_icon" .. self.data.guild_flag, true)
  85. self:SetSelected(self.is_selected)
  86. self:UpdateApplied()
  87. end
  88. function GuildRequestMergeItem:UpdateApplied( )
  89. if self.data then
  90. local merge_info = self.model:GetGuildMergeInfo()
  91. self.applied_obj:SetActive(self.data.guild_id == merge_info.t_guild_id)
  92. end
  93. end
  94. function GuildRequestMergeItem:__delete( )
  95. if self.vipItem then
  96. self.vipItem:DeleteMe()
  97. self.vipItem = nil
  98. end
  99. end