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

95 lines
2.8 KiB

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