-- <*
|
|
-- @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
|