|
|
- CommonMultiKillCon = CommonMultiKillCon or BaseClass(BaseItem)
- local CommonMultiKillCon = CommonMultiKillCon
-
- function CommonMultiKillCon:__init()
- self.base_file = "common"
- self.layout_file = "CommonMultiKillCon"
- self.is_play_multi_action = false
-
- self.is_need_hide_anim = false
-
- self:Load()
- end
-
- function CommonMultiKillCon:Load_callback()
- self.nodes = {
- "multi_con/multi_text:txt", "multi_con:obj",
- }
- self:GetChildren(self.nodes)
- self.multi_con_canvas = self.multi_con:GetComponent("CanvasGroup")
- self:AddEvents()
- if self.need_refreshData then
- self:SetMultiKillNum(self.multi_num, self.no_action)
- end
- end
-
- function CommonMultiKillCon:AddEvents( )
-
- end
-
- function CommonMultiKillCon:SetIsNeedHideAnim(bool)
- self.is_need_hide_anim = bool
- end
-
- function CommonMultiKillCon:SetMultiKillNum( num,no_action )
- self.multi_num = num
- self.no_action = no_action
- if not self.is_loaded then
- self.need_refreshData = true
- return
- else
- self.need_refreshData = false
- end
- self.multi_text_txt.text = num
- if self.is_play_multi_action or self.no_action then
- return
- else
- if self.multi_kill_anim_id then
- TweenLite.Stop(self.multi_kill_anim_id)
- self.multi_kill_anim_id = nil
- end
- self.multi_con_canvas.alpha = 1
- self.is_play_multi_action = true
- SetLocalScale(self.multi_text, 1.3,1.3,1.3)
- local function onComplete( ... )
- self.is_play_multi_action = false
- if self.is_need_hide_anim then
- self:StartMultiKillCountDown(2)
- end
- end
- self.scale_id = TweenLite.to(self, self.multi_text, TweenLite.UiAnimationType.SCALE, Vector3.one ,0.3, onComplete)
- end
- end
-
- function CommonMultiKillCon:StartMultiKillCountDown( time )
- self:StopMultiKillCountDown()
- local function onBoxTimer()
- time = time - 1
- if time <= 0 then
- local function anim_end_func( ... )
-
- end
- self.multi_kill_anim_id = TweenLite.to(self, self.multi_con_canvas,TweenLite.UiAnimationType.ALPHA, 0, 0.5, anim_end_func)
- end
- end
- self.multi_timer_id = GlobalTimerQuest:AddPeriodQuest(onBoxTimer, 1, -1)
- end
-
- function CommonMultiKillCon:StopMultiKillCountDown( )
- if self.multi_timer_id then
- GlobalTimerQuest:CancelQuest(self.multi_timer_id)
- self.multi_timer_id = nil
- end
- end
-
- function CommonMultiKillCon:StopMultiKillAction( )
- if self.scale_id then
- TweenLite.Stop(self.scale_id)
- self.scale_id = nil
- end
- end
-
- function CommonMultiKillCon:SetData( data )
- self.data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function CommonMultiKillCon:__delete( )
- self:StopMultiKillCountDown()
- self:StopMultiKillAction()
- end
|