源战役客户端
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 

130 satır
4.0 KiB

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