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