源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

108 行
3.4 KiB

-- <*
-- @Author: Saber
-- @Description: 社团日志界面
-- *>
GuildLogView = GuildLogView or BaseClass(BaseView)
local GuildLogView = GuildLogView
function GuildLogView:__init()
self.base_file = "guild"
self.layout_file = "GuildLogView"
self.layer_name = "Activity"
self.destroy_imm = true
self.use_background = true
self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
self.blur_activity_bg = true
self.use_show_anim = true
self.use_hide_anim = true
self.model = GuildModel:getInstance()
self.load_callback = function ()
self:LoadSuccess()
self:AddEvent()
self.model:Fire(GuildModel.REQUEST_CCMD_EVENT,40405)
end
self.open_callback = function ( )
self:OpenSuccess()
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function GuildLogView:Open( )
--self.data = data
BaseView.Open(self)
end
function GuildLogView:LoadSuccess()
local nodes = {
"content",
"content/log_scroll", "content/log_scroll/Viewport/log_con",
"content/empty_bg:obj:raw",
}
self:GetChildren(nodes)
lua_resM:setOutsideRawImage(self, self.empty_bg_raw, GameResPath.GetRoleBg("guild_empty_girl_697_560"), 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 GuildLogView:AddEvent()
local function update_log()
self:UpdateView()
end
self:BindEvent(self.model, GuildModel.UPDATE_GUILD_LOG, update_log)
end
function GuildLogView:OpenSuccess()
self:UpdateView()
end
function GuildLogView:UpdateView()
local log_data = self.model:GetGuildLogInfo()
self.empty_bg_obj:SetActive(#log_data <= 0)
self.log_item_creator = self.log_item_creator or self:AddUIComponent(UI.ItemListCreator)
local info = {
data_list = log_data,
item_con = self.log_con,
scroll_view = self.log_scroll,
prefab_ab_name = "guild",
prefab_res_name = "GuildLogItem",
item_height = 48,
create_frequency = 0.01,
child_names = {"log:tmp","time:tmp",},
alignment = UnityEngine.TextAnchor.UpperLeft,
on_update_item = function(item, i, v)
local str = GuildModel.LogStr[v.type]
if v.type ~= GuildModel.LogType.Upgrade then
str = string.gsub(str, "@name", v.name)
end
if v.type == GuildModel.LogType.Active then
str = string.gsub(str, "@active", v.value)
end
if v.type == GuildModel.LogType.Position then
str = string.gsub(str, "@pos", Trim(Config.Guildpos[v.value].name))
end
if v.type == GuildModel.LogType.Upgrade then
str = string.gsub(str, "@upgrade", v.value)
end
item.log_tmp.text = str
item.time_tmp.text = TimeUtil:timeConversion(v.time, "yy/mm/dd")
end,
}
self.log_item_creator:UpdateItems(info)
end
function GuildLogView:DestroySuccess( )
if self.tabWindowComponent then
self.tabWindowComponent:DeleteMe()
self.tabWindowComponent = nil
end
end