GuildBadgeItem = GuildBadgeItem or BaseClass(BaseItem)
|
|
local GuildBadgeItem = GuildBadgeItem
|
|
|
|
function GuildBadgeItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildBadgeItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
self.item_width = 80
|
|
self.item_height = 80
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildBadgeItem:Load_callback()
|
|
local nodes = {
|
|
"icon:obj:img",
|
|
"tip_bg:obj",
|
|
"tip_bg/tip:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildBadgeItem:AddEvents( )
|
|
local function clickEvent(target)
|
|
if target == self.icon_obj then
|
|
if self.show_tips then
|
|
self.tip_bg_obj:SetActive(true)
|
|
if self.custom_mask_callback then
|
|
local function callback()
|
|
self.tip_bg_obj:SetActive(false)
|
|
end
|
|
self.custom_mask_callback(callback)
|
|
end
|
|
else
|
|
if self.custom_badge_callback then
|
|
self.custom_badge_callback(self.index, self.data.id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.icon_obj, clickEvent)
|
|
end
|
|
|
|
function GuildBadgeItem:UpdateView( )
|
|
-- if self.data.is_empty then
|
|
-- self.tip_tmp.text = "跨服开启后可获得"
|
|
-- else
|
|
local badge_cfg = Config.Guildbadge[self.data.id]
|
|
self.tip_tmp.text = badge_cfg and Trim(badge_cfg.note) or ""
|
|
-- end
|
|
SetSizeDelta(self.tip_bg, 12 + (self.tip_tmp.preferredWidth > 200 and 200 or self.tip_tmp.preferredWidth), self.tip_tmp.preferredHeight + 27)
|
|
-- lua_resM:setImageSprite(self, self.icon_img, "guildBadge_asset", self.data.is_empty and "guild_badge_empty" or "guild_badge_" .. self.data.id, true)
|
|
lua_resM:setImageSprite(self, self.icon_img, "guildBadge_asset", "guild_badge_" .. self.data.id, true)
|
|
self.item_width = self.icon.sizeDelta.x
|
|
self.item_height = self.icon.sizeDelta.y
|
|
self:SetIconSize()
|
|
end
|
|
|
|
function GuildBadgeItem:SetData( data, show_tips, custom_mask_callback, index, custom_badge_callback )
|
|
self.data = data
|
|
self.show_tips = show_tips
|
|
self.custom_mask_callback = custom_mask_callback
|
|
|
|
self.index = index
|
|
self.custom_badge_callback = custom_badge_callback
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildBadgeItem:SetIconSize(width, height)
|
|
self.item_width = width or self.item_width
|
|
self.item_height = height or self.item_height
|
|
if self.is_loaded then
|
|
SetSizeDelta(self.icon, self.item_width, self.item_height)
|
|
self.icon_obj:SetActive(true)
|
|
end
|
|
end
|
|
|
|
function GuildBadgeItem:__delete( )
|
|
|
|
end
|