-- <* -- @Author: Saber -- @Description: 社团红包界面 -- *> GuildRedPacketView = GuildRedPacketView or BaseClass(BaseView) local GuildRedPacketView = GuildRedPacketView function GuildRedPacketView:__init() self.base_file = "redPacket" self.layout_file = "GuildRedPacketView" self.layer_name = "Activity" self.destroy_imm = true self.use_background = true self.blur_activity_bg = true self.use_show_anim = true self.use_hide_anim = true self.model = RedPacketModel:GetInstance() self.load_callback = function () self:LoadSuccess() self:AddEvent() self.model:Fire(RedPacketModel.REQUEST_CCMD_EVENT,33901) -- 请求一次社团红包信息 end self.open_callback = function ( ) self:OpenSuccess() end self.destroy_callback = function ( ) self:DestroySuccess() end end function GuildRedPacketView:Open( ) --self.data = data BaseView.Open(self) end function GuildRedPacketView:LoadSuccess() local nodes = { "content", "content/red_scroll", "content/red_scroll/Viewport/red_con", "content/empty_bg:obj:raw", } self:GetChildren(nodes) lua_resM:setOutsideRawImage(self, self.empty_bg_raw, GameResPath.GetRoleBg("team_empty_bg_small"), false) local function close_callback() self:Close() end self.tabWindowComponent = UITabWindow.New(self.transform, {}, nil, close_callback, self.background_wnd, self.content, UITabWindow.SizeSmallNoTab, nil, nil, false) self.tabWindowComponent:SetTitleText("社团红包") self.tabWindowComponent:SetBackgroundRes("WindowNew2_bg") end function GuildRedPacketView:AddEvent() local function update_redpacket() self:UpdateView() end self:BindEvent(self.model, RedPacketModel.UPDATE_GUILD_RP_LIST, update_redpacket) end function GuildRedPacketView:OpenSuccess() self:UpdateView() end function GuildRedPacketView:UpdateView() local red_list = self.model:GetGuildRedpacketList() self.red_item_creator = self.red_item_creator or self:AddUIComponent(UI.ItemListCreator) local info = { data_list = red_list, item_con = self.red_con, scroll_view = self.red_scroll, item_class = GuildRedPacketItem, item_height = 307, item_width = 224, start_x = -6.5, start_y = 21, space_x = 4, space_y = -12, create_frequency = 0.01, alignment = UnityEngine.TextAnchor.UpperLeft, on_update_item = function(item, i, v) item:SetData(v) end, } self.red_item_creator:UpdateItems(info) self.empty_bg_obj:SetActive(#red_list <= 0) end function GuildRedPacketView:DestroySuccess( ) if self.tabWindowComponent then self.tabWindowComponent:DeleteMe() self.tabWindowComponent = nil end end