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