|
|
- AchievePrivilegeView = AchievePrivilegeView or BaseClass(BaseView)
- local AchievePrivilegeView = AchievePrivilegeView
-
- function AchievePrivilegeView:__init()
- self.base_file = "achievement"
- self.layout_file = "AchievePrivilegeView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = G_USING_BG --全屏界面默认使用这个参数
- --self.hide_maincancas = true --全屏界面需要放开隐藏主UI
- self.change_scene_close = true
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.is_set_zdepth = true
- self.model = AchieveModel:getInstance()
- self.privilege_data = self.model:GetAchievePrivilegeTabData() -- 获取特权按钮数据
- self.privilege_item = {}
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- 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 AchievePrivilegeView:Open( )
- --self.data = data
- BaseView.Open(self)
- end
-
- function AchievePrivilegeView:LoadSuccess()
- local nodes = {
- "container","container/ScrollView_item/Viewport/Content_item",
- "container/ScrollView_item","bg:img", "btn_close:obj",
- "lb_title:tmp",
- }
- self:GetChildren(nodes)
- self:UpdateBaseView( )
- end
-
- function AchievePrivilegeView:UpdateBaseView( )
- local closeWin_callback = function()
- self:Close()
- end
- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetViewBigBg('achi_privilege_bg2'), false)
- self.lb_title_tmp.text = "成就里程碑"
- -- self.tabWindowComponent = UITabWindow.New(self.transform,{},select_callback,closeWin_callback,self.background_wnd,self.container, UITabWindow.SizeSmallNoTab, false,nil,true)
- -- self.tabWindowComponent:SetBackgroundRes("achi_privilege_bg2")
- -- self.tabWindowComponent:SetTitleText("特权预览")
- end
-
- function AchievePrivilegeView:AddEvent()
- local on_click = function ( click_obj )
- if self.btn_close_obj == click_obj then
- self:Close()
- end
- end
- AddClickEvent(self.btn_close_obj, on_click)
-
- end
-
- function AchievePrivilegeView:OpenSuccess()
- self:UpdateView()
- end
-
- function AchievePrivilegeView:UpdateView()
- local cur_index = self.model:GetCurPrivilegeStage()
- -- for k, v in ipairs(self.privilege_data) do
- -- local item = self.privilege_item[k]
- -- if not item then
- -- item = AchievePrivilegeItem.New(self.Content_item)
- -- self.privilege_item[k] = item
- -- end
- -- item:SetData(v, k)
- -- end
-
- -- local callback = function(index)
- -- self:ChangeTab(index)
- -- end
- self.item_creator = self.item_creator or self:AddUIComponent(UI.ItemListCreator)
- self.item_creator:Reset()
- local ITEM_WIDTH = 253
- local START_X = 15
- local info = {
- data_list = self.privilege_data,
- item_con = self.Content_item,
- scroll_view = self.ScrollView_item,
- item_class = AchievePrivilegeItem,
- item_width = ITEM_WIDTH,
- start_x = START_X,
- start_y = -3,
- space_y = 0,
- -- add_width = 1000,
- reuse_item_num = 5,
- create_frequency = 0.01,
- alignment = UnityEngine.TextAnchor.UpperLeft,
- on_update_item = function(item, i, v)
- item:SetData(v, i)
- end,
- }
- self.item_creator:UpdateItems(info)
- SetSizeDeltaX(self.Content_item, START_X + ITEM_WIDTH * #self.privilege_data)
- if cur_index > 3 then
- self.item_creator:ScrollToItem(cur_index)
- end
- end
-
- function AchievePrivilegeView:SwitchTab( index )
-
- end
-
- function AchievePrivilegeView:DestroySuccess( )
- -- if self.tabWindowComponent then
- -- self.tabWindowComponent:DeleteMe()
- -- self.tabWindowComponent = nil
- -- end
-
- for k, v in pairs(self.privilege_item) do
- v:DeleteMe()
- v = nil
- end
- self.privilege_item = nil
- end
|