-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 社团红包item
|
|
-- *>
|
|
GuildRedPacketItem = GuildRedPacketItem or BaseClass(BaseItem)
|
|
local GuildRedPacketItem = GuildRedPacketItem
|
|
|
|
function GuildRedPacketItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "redPacket"
|
|
self.layout_file = "GuildRedPacketItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
self.redpacket_id = 0 -- 红包唯一id
|
|
self.redpacket_cfg_id = 0 -- 红包配置id
|
|
self.model = RedPacketModel:GetInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildRedPacketItem:Load_callback()
|
|
self.nodes = {
|
|
"get_btn:obj:imgex", "get_btn/get_flag:imgex",
|
|
"head_con",
|
|
"desc1:tmp", "desc2:tmp",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
self.role_head = HeadRoleItem.New(self.head_con)
|
|
self.role_head:SetItemSize(70, 70)
|
|
self.role_head:SetAnchoredPosition(0, 0)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildRedPacketItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.get_btn_obj or target == self.gameObject then
|
|
if self.data and self.data.id then
|
|
if self.data.status == 0 then --发红包
|
|
self.model:Fire(RedPacketModel.REQUEST_CCMD_EVENT,33909,self.data.id)
|
|
else --领红包、看红包
|
|
self.model:Fire(RedPacketModel.REQUEST_CCMD_EVENT,33902,self.data.id)
|
|
-- if self.model:IsGuildRedPacketInLimit() then
|
|
-- Message.show("当日领取红包次数已达上限")
|
|
-- else
|
|
-- end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.get_btn_obj, click_event)
|
|
AddClickEvent(self.gameObject, click_event)
|
|
end
|
|
|
|
function GuildRedPacketItem:UpdateView( )
|
|
if self.data then
|
|
-- 红包id相关
|
|
self.redpacket_id = self.data.id
|
|
self.redpacket_cfg_id = self.data.packet_id
|
|
-- 红包发起人头像级描述信息
|
|
local head_data = {
|
|
vo = {
|
|
id = self.data.role_id,
|
|
-- server_id = self.data.ser_id or 0,
|
|
career = self.data.career,
|
|
sex = self.data.sex,
|
|
turn = self.data.turn,
|
|
picture_ver = self.data.picture_ver,
|
|
picture = self.data.picture,
|
|
profile_photo_id = self.data.profile_photo_id,
|
|
dress_board_id = self.data.dress_id,
|
|
level = self.data.lv,
|
|
use_bg = 2
|
|
},
|
|
show_tip = false,
|
|
}
|
|
self.role_head:SetData(head_data)
|
|
-- 红包描述
|
|
local red_packet_cfg = Config.Redpacket[self.redpacket_cfg_id]
|
|
self.desc1_tmp.text = string.format("金主:<color=#ffec96>%s</color>", self.data.role_name)
|
|
self.desc2_tmp.text = Trim(red_packet_cfg.greetings)
|
|
|
|
-- 根据红包领取情况加载按钮状态
|
|
self.get_btn_imgex.gray = false
|
|
local icon_res, btn_gray = "guild_red_open_pointfilter", false -- 按钮资源和灰化
|
|
-- if self.data.has_look == 0 then -- 被处理为未查看的红包(上线后的新红包)
|
|
-- icon_res = "guild_red_open_pointfilter"
|
|
-- btn_gray = false
|
|
-- elseif self.data.has_look == 1 then -- 旧红包
|
|
if self.data.status == 0 then -- 还没发的红包,置顶
|
|
icon_res = "guild_red_send_pointfilter"
|
|
btn_gray = false
|
|
elseif self.data.status == 1 then -- 发出去的红包,收到协议时未领完
|
|
if self.data.receive_status == 3 then -- 已经领了的
|
|
icon_res = "guild_red_claimed_pointfilter"
|
|
elseif self.data.receive_status == 2 then -- 领不到了
|
|
icon_res = "guild_red_missed_pointfilter"
|
|
elseif self.data.receive_status == 1 then -- 还能领
|
|
icon_res = "guild_red_open_pointfilter"
|
|
end
|
|
btn_gray = self.data.receive_status ~= 1
|
|
elseif self.data.status == 2 then -- 已领完
|
|
if self.data.receive_status == 3 then -- 已经领了的
|
|
icon_res = "guild_red_claimed_pointfilter"
|
|
btn_gray = true
|
|
else
|
|
icon_res = "guild_red_missed_pointfilter"
|
|
btn_gray = true
|
|
end
|
|
end
|
|
-- end
|
|
lua_resM:setImageSprite(self, self.get_flag_imgex, "redPacket_asset", icon_res, true)
|
|
self.get_flag_imgex.gray = btn_gray
|
|
self.get_btn_imgex.gray = btn_gray
|
|
end
|
|
end
|
|
|
|
function GuildRedPacketItem:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildRedPacketItem:__delete( )
|
|
if self.role_head then
|
|
self.role_head:DeleteMe()
|
|
self.role_head = nil
|
|
end
|
|
end
|
|
|