-- <* -- @Author: Saber -- @Description: 社团系统 社团合并请求发起界面 社团节点 -- *> GuildRequestMergeItem = GuildRequestMergeItem or BaseClass(BaseItem) local GuildRequestMergeItem = GuildRequestMergeItem local SetAnchoredPositionX = SetAnchoredPositionX function GuildRequestMergeItem:__init(parent_wnd,prefab_asset,layer_name) self.base_file = "guild" self.layout_file = "GuildRequestMergeItem" self.parent_wnd = parent_wnd self.layer_name = layer_name self.model = GuildModel:getInstance() self:Load() end function GuildRequestMergeItem:Load_callback() local nodes = { "guild_icon:img", "info_con/vip_con:obj", "info_con/sex_flag:obj:img", "info_con/name:obj:tmp", "selected:obj", "applied:obj", "chat_leader_btn:obj", "power_val:txt", "guild_name:tmp", "guild_lv:tmp", "guild_num:tmp", "guild_active:tmp", } self:GetChildren(nodes) -- 加载vip节点 self.vipItem = RoleVipItem.New(self.vip_con) self.vipItem:SetAnchoredPosition(0, 0) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function GuildRequestMergeItem:AddEvents( ) local function click_event(target) if target == self.chat_leader_btn_obj then if self.data then SocialityModel:getInstance():Fire(SocialityModel.CHAT_WITH_ROLEID, self.data.role_id) self.model:Fire(GuildModel.OPEN_REQUEST_MERGE_VIEW, false) end elseif target == self.gameObject then if self.callback and self.index then self.callback(self.index, self.data.guild_id) end end end AddClickEvent(self.chat_leader_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE) AddClickEvent(self.gameObject, click_event, LuaSoundManager.SOUND_UI.SWITCH) end function GuildRequestMergeItem:SetData(data, index, callback) self.data = data self.index = index self.callback = callback if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function GuildRequestMergeItem:SetSelected(bool) self.is_selected = bool if self.is_loaded then if self.selected_obj.activeSelf ~= self.is_selected then self.selected_obj:SetActive(self.is_selected) end end end function GuildRequestMergeItem:UpdateView( ) -- 加载团长信息 self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type) self.name_tmp.text = self.data.name lua_resM:setImageSprite(self, self.sex_flag_img, "common_asset", self.data.sex == 1 and "com_boy" or "com_girl", true) local sex_pos_x = 50 + self.name_tmp.preferredWidth SetAnchoredPositionX(self.sex_flag, sex_pos_x) self.power_val_txt.text = self.data.combat_power or self.data.sec_value -- 加载社团信息 local guild_lv_cfg = Config.Guildlv[self.data.guild_lv] self.guild_name_tmp.text = self.data.guild_name self.guild_num_tmp.text = (self.data.member_num or self.data.members_num) .. "/" .. (guild_lv_cfg.member_capacity + self.data.add_mem_num) -- 数据来源有两个协议决定 self.guild_lv_tmp.text = "Lv." .. self.data.guild_lv self.guild_active_tmp.text = self.data.week_labor_last or self.data.first_value -- 数据来源有两个协议决定 lua_resM:setImageSprite(self, self.guild_icon_img, "guildIcon_asset", "guild_icon" .. self.data.guild_flag, true) self:SetSelected(self.is_selected) self:UpdateApplied() end function GuildRequestMergeItem:UpdateApplied( ) if self.data then local merge_info = self.model:GetGuildMergeInfo() self.applied_obj:SetActive(self.data.guild_id == merge_info.t_guild_id) end end function GuildRequestMergeItem:__delete( ) if self.vipItem then self.vipItem:DeleteMe() self.vipItem = nil end end