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

120 regels
3.6 KiB

CSGWarRecordView = CSGWarRecordView or BaseClass(BaseView)
local CSGWarRecordView = CSGWarRecordView
--[[
CSGWarRecordView.TabData = {
[1] = {name = "人物", level = MainRoleModel.TabOpenLevel[1]},
}
--]]
function CSGWarRecordView:__init()
self.base_file = "CSGWar"
self.layout_file = "CSGWarRecordView"
self.layer_name = "Activity"
self.destroy_imm = true
self.use_background = true --全屏界面默认使用这个参数
self.hide_maincancas = false --全屏界面需要放开隐藏主UI
self.change_scene_close = true
self.append_to_ctl_queue = false --是否要添加进界面堆栈
self.need_show_money = false --是否要显示顶部的金钱栏
self.model = CSGWarModel:getInstance()
self.model:Fire(CSGWarConst.REQ_CSGWAR_SCMD, 60115)
self.load_callback = function ()
self:LoadSuccess()
end
self.open_callback = function ( )
self:OpenSuccess()
end
self.switch_callback = function(index)
self:SwitchTab(index)
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function CSGWarRecordView:Open( )
--self.data = data
BaseView.Open(self)
end
function CSGWarRecordView:LoadSuccess()
local nodes = {
"item_scroll", "item_scroll/Viewport/item_con", "bg:raw", "bg2:raw",
"rename_btn:obj", "overlord_btn:obj", "close_btn:obj", "text2:tmp", "text3:tmp", "text1:tmp", "text4:tmp",
"empty:obj", "empty/empty_talk_image:raw", "empty/empty_text:tmp",
-- "empty/girl:raw",
}
self:GetChildren(nodes)
self:AddEvent()
lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("csgwar_record_bg"),false)
lua_resM:setOutsideRawImage(self,self.bg2_raw,GameResPath.GetRoleBg("csgwar_406_686"))
lua_resM:setOutsideRawImage(self, self.empty_talk_image_raw, GameResPath.GetViewBigBg("com_empty_bg1"), false)
-- lua_resM:setOutsideRawImage(self, self.girl_raw, GameResPath.GetRoleBg("team_empty_bg_267_589"), false) -- 不显示这个妹子了
self.empty_text_tmp.text = "暂无记录"
end
function CSGWarRecordView:AddEvent()
local function on_update_view( )
self:UpdateView()
end
self.on_update_view_id = self.model:BindOne("CSGWar_record_info", on_update_view)
local function on_click( target )
if target == self.rename_btn_obj then
KfWorldModel:GetInstance():Fire(KfWorldConst.OPEN_KfWorld_BASE_VIEW)
elseif target == self.close_btn_obj then
self:Close()
elseif target == self.overlord_btn_obj then
self:Close()
self.model:Fire(CSGWarConst.OPEN_CSGWAR_OVERLORD_VIEW)
end
end
AddClickEvent(self.close_btn_obj, on_click)
AddClickEvent(self.rename_btn_obj, on_click)
AddClickEvent(self.overlord_btn_obj, on_click)
end
function CSGWarRecordView:OpenSuccess()
self:UpdateView()
end
function CSGWarRecordView:UpdateView()
local data = self.model:GetCSGWarRecordInfo()
local function sortfunction( a,b )
if a.time == b.time then
return a.room_id < b.room_id
else
return a.time > b.time
end
end
table.sort( data, sortfunction )
if not self.item_list_com then
self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
end
self.empty_obj:SetActive(TableSize(data) == 0)
local info = {
data_list = data,
item_con = self.item_con,
scroll_view = self.item_scroll,
item_class = CSGWarRecordItem,
start_y = 0, start_x = -8,
create_frequency = 0.02,
create_num_per_time = 3,
item_height = 210,
space_y = 3,
on_update_item = function(item, i, v)
item:SetData(i, v)
end,
}
self.item_list_com:UpdateItems(info)
for i=1,4 do
self["text"..i.."_tmp"].text = CSGWarConst.OVERLORD_DESC[i]
end
end
function CSGWarRecordView:DestroySuccess( )
if self.on_update_view_id then
self.model:UnBind(self.on_update_view_id)
self.on_update_view_id = nil
end
end