源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

101 lines
3.5 KiB

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