public void UpdatePlay(float playback_time) { if (gameObject.activeInHierarchy == false) { return; } try { PlaybackTime = playback_time; if (m_PlayingActions.Count > 0) { for (int i = 0; i < m_PlayingActions.Count;) { ICharacterAction action = m_PlayingActions[i]; if ((BattleBase.Instance == null || BattleBase.Instance.IsPause != ePauseType.Pause || action.IsPause == false) && action.Update(PlaybackTime) == false) { m_PlayingActions.RemoveAt(i); if (action == MainAction) { MainAction = null; } } else { ++i; } } } if (m_AnimationAdoptor != null && IsUpdateAnimation) { m_AnimationAdoptor.Update(PlaybackTime, m_FreezeCount > 0); } Tween.UpdatePlay(PlaybackTime); UpdateParticles(); if (Application.isPlaying == true && m_DefaultEffect != null && m_PlayingDefaultEffect == null) { m_PlayingDefaultEffect = PlayParticle(m_DefaultEffect); } else if (m_PlayingDefaultEffect != null && m_PlayingDefaultEffect.IsPlaying == true && m_PlayingDefaultEffect.IsFinish == false && CharacterAnimation.IsDeadEnd) { m_PlayingDefaultEffect.Finish(); } } catch (System.Exception ex) { throw new System.Exception(string.Format("[{0}] {1}", gameObject.name, ex.Message), ex); } }
public override void Cancel(bool stopAll) { base.Cancel(stopAll); if (stopAll || IsStarted == false) { Finish(); } else if (IsCancelParticle && particle_system != null) { particle_system.Finish(); } }