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
|