源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

105 行
2.6 KiB

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