源战役客户端
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.
 
 
 
 
 

91 lines
2.9 KiB

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