|
|
- FuliLimitPackageNumItem = FuliLimitPackageNumItem or BaseClass(BaseItem)
- function FuliLimitPackageNumItem:__init(parent_wnd, prefab_asset, layer_name)
- self.base_file = "fuli"
- self.layout_file = "FuliLimitPackageNumItem"
- self.is_delay_callback = true
- self.data = false
- self.time = false
- self.loop_mgr = LoopScrowViewMgr.New()
- self.item_list = {}
- self.tween_id = false
- self:Load()
- end
-
- function FuliLimitPackageNumItem:Load_callback()
- local nodes = {
- "ScrollView",
- "ScrollView/Viewport/Content",
- }
-
- self:GetChildren(nodes)
- self:InitEvent()
-
- if self.need_refreshData then
- self:SetData(self.data, self.time)
- end
- end
-
- function FuliLimitPackageNumItem:InitEvent()
-
- end
-
- function FuliLimitPackageNumItem:SetData(data, time)
- self.data = data
- self.time = time
- if self.is_loaded then
- self:UpdateView()
-
- else
- self.need_refreshData = true
- end
- end
-
- function FuliLimitPackageNumItem:__delete()
- if self.loop_mgr then
- self.loop_mgr:DeleteMe()
- self.loop_mgr = nil
- end
- for i = 1,#self.item_list do
- self.item_list[i]:DeleteMe()
- end
- self.item_list = {}
-
- if self.tween_id then
- TweenLite.Stop(self.tween_id)
- end
- self.tween_id = false
-
- if self.timer_update then
- TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_update)
- self.timer_update = nil
- end
- end
-
-
- function FuliLimitPackageNumItem:UpdateView()
-
- self.data_list_num = self.time * 30 + self.data
-
- for k = 1,3 do
- local item = self.item_list[k]
- if item == nil then
- item = FuliLimitPackageNumTextItem.New(self.Content,nil,self.maskID)
- self.item_list[k] = item
- end
- end
-
- self.loop_mgr:Init(self.ScrollView,self.Content,1,15,25,function(item,index,realIndex )
- self:OnInitializeItem(item,index,realIndex)
- end, 0, 0)
- self.loop_mgr:InitChildren(self.item_list, self.data_list_num)
- self.loop_mgr:RestToBeginning()
- self.loop_mgr:SetContentSizeData()
- end
-
- function FuliLimitPackageNumItem:OnInitializeItem(item,index,realIndex)
- if item and realIndex > 0 and realIndex <= self.data_list_num then
- if self.data_list_num == realIndex then
- item:SetData(self.data)
- else
- item:SetData(realIndex%10)
- end
- if not self.tween_id then
- local function end_func( )
- if self.tween_id then
- TweenLite.Stop(self.tween_id)
- end
- self.tween_id = false
-
- if self.timer_update then
- TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_update)
- self.timer_update = nil
- end
- end
- self.tween_id = TweenLite.to(self,self.Content, TweenLite.UiAnimationType.POSY, (self.data_list_num - 1) *(25), 3, end_func, TweenFunc.EASE_OUT, false)
-
-
- local function timer_func()
- if self.tween_id then
- self.loop_mgr.mNeedToWrap = true
- self.loop_mgr:WrapContent()
- end
- end
- self.timer_update = TimerQuest.AddPeriodQuest(GlobalTimerQuest, timer_func, 0.02)
- end
- end
- end
|