-- <* -- @Author: Saber -- @Description: 社团通用头像item -- *> GuildCommonHeadItem = GuildCommonHeadItem or BaseClass(BaseItem) local GuildCommonHeadItem = GuildCommonHeadItem function GuildCommonHeadItem:__init(parent_wnd,prefab_asset,layer_name) self.base_file = "guild" self.layout_file = "GuildCommonHeadItem" self.parent_wnd = parent_wnd self.layer_name = layer_name self.size = 156 self.default_size = 156 self.is_active = true self.model = GuildModel:getInstance() self:Load() end function GuildCommonHeadItem:Load_callback() self.nodes = { "head_con", "position_flag:img:obj", "name:tmp", "no_data_flag:obj:tmp", "no_role:obj", "addition_imgs:obj", } self:GetChildren(self.nodes) self.role_head_item = HeadRoleItem.New(self.head_con) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function GuildCommonHeadItem:AddEvents( ) local function click_event(target) if target == self.no_data_flag_obj or target == self.no_role_obj then if self.has_authority then -- 有权限,打开任命界面 self.model:Fire(GuildModel.OPEN_GUILD_POS_ALLOT_VIEW, true, 2) else -- 没权限,打开申请界面 self.model:Fire(GuildModel.OPEN_GUILD_APPLY_MGR_VIEW, true) end end end AddClickEvent(self.no_data_flag_obj, click_event) AddClickEvent(self.no_role_obj, click_event) end function GuildCommonHeadItem:UpdateView( ) self:SetItemSize() self.transform.anchoredPosition = self.pos self.role_head_item:SetData(self.head_data) if self.show_position then lua_resM:setImageSprite(self, self.position_flag_img, "guild_asset", "guild_position"..self.show_position.."_pointfilter", true) end self.position_flag_obj:SetActive(self.show_position and true or false) self.addition_imgs_obj:SetActive(self.show_position and self.show_position == GuildModel.GuildPosition.Leader or false) self.name_tmp.text = self.show_name -- 判断是否拥有权限任命 self.has_authority = self.model:HasAppointPremission(GuildModel.GuildPosition.ViceLeader) self.no_data_flag_tmp.text = self.no_data and (self.has_authority and "前往任职" or "虚位以待") or "" self.no_role_obj:SetActive(self.no_data) end -- 传递参数 --[[ head_data:头像数据 size:头像大小 show_position:是否展示职位,值即职位的id show_lv:展示玩家等级,默认不显示 show_name:展示玩家名称 no_data:是否是空头像 ]] function GuildCommonHeadItem:SetData( data ) self.head_data = data.head_data self.size = data.size or self.default_size self.show_position = data.show_position or false self.show_name = data.show_name or "" self.no_data = data.no_data or false self.pos = data.pos or Vector2(0, 0) -- print("Saber:GuildCommonHeadItem [62] self.no_data: ",self.no_data) if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function GuildCommonHeadItem:SetItemSize() local size_ratio = self.size / self.default_size self.role_head_item:SetItemSize(self.size, self.size) -- self.transform.localScale = Vector2(size_ratio, size_ratio) end function GuildCommonHeadItem:__delete( ) if self.role_head_item then self.role_head_item:DeleteMe() self.role_head_item = nil end end