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
|