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