public void RealInflict() { m_remain_attack_cnt = m_combo_attack_cnt; Impact(); if (m_combo_attack_cnt > 1) { if (m_combo_task == null) { m_combo_task = LogicTask.Create <ComboAttackTask>(); m_combo_task.Construct(this); } var schedeler = GetLogicWorld().GetTaskScheduler(); schedeler.Schedule(m_combo_task, GetCurrentTime(), m_combo_interval, m_combo_interval); } }
protected override void OnDestruct() { RecyclableObject.Recycle(m_damage_amount); m_damage_amount = null; if (m_delay_task != null) { m_delay_task.Cancel(); LogicTask.Recycle(m_delay_task); m_delay_task = null; } if (m_combo_task != null) { m_combo_task.Cancel(); LogicTask.Recycle(m_combo_task); m_combo_task = null; } }