RankProgressView = RankProgressView or BaseClass(BaseView)
|
|
local RankProgressView = RankProgressView
|
|
|
|
function RankProgressView:__init()
|
|
self.base_file = "rank"
|
|
self.layout_file = "RankProgressView"
|
|
self.layer_name = "Activity"
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.change_scene_close = true
|
|
self.hide_maincancas = true --是否隐藏主界面
|
|
self.append_to_ctl_queue = false --是否要添加进界面堆栈
|
|
self.need_show_money = false --是否要显示顶部的金钱栏
|
|
self.click_bg_toClose = true
|
|
|
|
self.is_set_zdepth = true
|
|
|
|
self.blur_activity_bg = true
|
|
|
|
self.model = RankModel:getInstance()
|
|
|
|
self.top_item_list = {}
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
-- self:OpenSuccess()
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function RankProgressView:Open(rank_type)
|
|
self.rank_type = rank_type
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function RankProgressView:LoadSuccess()
|
|
local nodes = {
|
|
"bg:img",
|
|
"close:obj",
|
|
"content",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetRankBg("rank_progress_bg"))
|
|
|
|
self.model:Fire(RankModel.REQUEST_CCMD_EVENT, 22111, self.rank_type)
|
|
|
|
end
|
|
|
|
function RankProgressView:AddEvent()
|
|
local on_click = function ( click_obj )
|
|
if self.close_obj == click_obj then
|
|
self:Close()
|
|
end
|
|
end
|
|
AddClickEvent(self.close_obj, on_click)
|
|
|
|
local function on_update_progress_view(rank_type)
|
|
if self.is_loaded and self.rank_type == rank_type then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
self:BindEvent(self.model, RankModel.UPDATE_RANK_PROGRESS_VIEW, on_update_progress_view)
|
|
|
|
end
|
|
|
|
function RankProgressView:UpdateView()
|
|
local top_five_data = {}
|
|
local all_target_server_data = self.model:GetRankProgressData(self.rank_type)
|
|
for i=1,5 do
|
|
if all_target_server_data[i] then
|
|
table.insert(top_five_data, all_target_server_data[i])
|
|
else
|
|
local temp = {empty_data = true}
|
|
table.insert(top_five_data, temp)
|
|
end
|
|
end
|
|
|
|
for k,v in pairs(self.top_item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
for i,v in ipairs(top_five_data) do
|
|
local item = self.top_item_list[i]
|
|
if not item then
|
|
item = RankProgressItem.New(self.content)
|
|
self.top_item_list[i] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(v,i,self.rank_type)
|
|
item:SetAnchoredPosition(2, -(i-1)*93-7)
|
|
end
|
|
end
|
|
|
|
|
|
function RankProgressView:DestroySuccess( )
|
|
for i, v in ipairs(self.top_item_list) do
|
|
v:DeleteMe()
|
|
end
|
|
self.top_item_list = {}
|
|
end
|