|
|
- -- <*
- -- @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 "<u>前往任职</u>" or "<u>虚位以待</u>") 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
|