FuliLevelView = FuliLevelView or BaseClass(BaseItem)
|
|
local FuliLevelView = FuliLevelView
|
|
|
|
function FuliLevelView:__init()
|
|
self.base_file = "fuli"
|
|
self.layout_file = "FuliLevelView"
|
|
self.model = FuliModel:GetInstance()
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function FuliLevelView:Load_callback()
|
|
self.nodes = {
|
|
"item_scroll/Viewport/item_con","item_scroll","Text_1:tmp",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
self.Text_1_tmp.text = "<color=#fdffc2>“贵重奖励”</color>有<color=#fdffc2>限量</color>份数哦,先到先得!"
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function FuliLevelView:AddEvents( )
|
|
local function on_update_view( )
|
|
self:UpdateView()
|
|
end
|
|
self.on_update_view_id = self.model:BindOne("fuli_level_info", on_update_view)
|
|
end
|
|
|
|
function FuliLevelView:UpdateView( )
|
|
self.cfg = DeepCopy(self.model:GetFuliLevelCFG(self.mainVo.career))
|
|
local level = self.mainVo.level
|
|
for i,v in ipairs(self.cfg) do
|
|
v.is_get = self.model:IsFuliLevelGet(v.id)
|
|
v.can_get = level >= v.level
|
|
if v.can_get and not v.is_get then--可以领且没有领
|
|
v.sort_rank = 2
|
|
elseif v.can_get and v.is_get then--领了
|
|
v.sort_rank = 0
|
|
else
|
|
v.sort_rank = 1
|
|
end
|
|
end
|
|
local sort_func = function ( a, b )
|
|
if a.sort_rank == b.sort_rank then
|
|
return a.id < b.id
|
|
else
|
|
return a.sort_rank > b.sort_rank
|
|
end
|
|
end
|
|
table.sort(self.cfg, sort_func)
|
|
if not self.item_list_com then
|
|
self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
|
|
end
|
|
-- self.item_list_com:Reset()
|
|
local info = {
|
|
data_list = self.cfg,
|
|
item_con = self.item_con,
|
|
item_class = FuliLevelItem,
|
|
item_height = FuliLevelItem.Height,
|
|
space_y = 6,
|
|
start_x = 1,
|
|
start_y = -1,
|
|
reuse_item_num = 10,
|
|
scroll_view = self.item_scroll,
|
|
create_frequency = 0.02,
|
|
is_scroll_back_on_update = false,
|
|
on_update_item = function(item, i, v)
|
|
item:SetData(i, v)
|
|
end,
|
|
}
|
|
self.item_list_com:UpdateItems(info)
|
|
end
|
|
|
|
function FuliLevelView:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function FuliLevelView:__delete( )
|
|
if self.on_update_view_id then
|
|
self.model:UnBind(self.on_update_view_id)
|
|
self.on_update_view_id = nil
|
|
end
|
|
end
|