public void StopEffect() { if (m_currEfect != null) { m_director.Stop(); m_currEfect = null; } }
public void Tick(float a_fElapsed) { if (m_currEfect != null) { if (m_director.time >= m_director.duration && m_director.state == PlayState.Paused) { m_director.Stop(); if (m_currEfect.onFinished != null) { m_currEfect.onFinished.Invoke(m_currEfect.strName); m_currEfect.onFinished.RemoveAllListeners(); } m_currEfect = null; } } }
protected bool _PlayEffect(GuiEffect a_guiEffect, DirectorWrapMode a_eWrapMode, DirectorUpdateMode a_eUpdateMode, UnityAction <string> a_onFinished) { if (a_guiEffect == null || a_guiEffect.timelineAsset == null || m_objOwner.activeInHierarchy == false) { return(false); } m_director.Stop(); m_director.extrapolationMode = a_eWrapMode; m_director.initialTime = 0; m_director.timeUpdateMode = a_eUpdateMode; m_director.Play(a_guiEffect.timelineAsset); m_currEfect = a_guiEffect; m_currEfect.onFinished.AddListener(a_onFinished); return(true); }
public void PlayEffect(string a_strEffectName, DirectorWrapMode a_eWrapMode, DirectorUpdateMode a_eUpdateMode, UnityAction <string> a_onFinished = null) { GuiEffect guiEffect = null; for (int i = 0; i < commonEffects.Count; ++i) { if (commonEffects[i].strName == a_strEffectName) { guiEffect = commonEffects[i]; break; } } if (guiEffect == null) { return; } _PlayEffect(guiEffect, a_eWrapMode, a_eUpdateMode, a_onFinished); }
public bool Initialize(GameObject a_objOwner) { if (a_objOwner == null) { return(false); } m_objOwner = a_objOwner; if (IsValid()) { m_director = m_objOwner.GetComponent <PlayableDirector>(); if (m_director == null) { m_director = m_objOwner.AddComponent <PlayableDirector>(); m_director.Stop(); } } m_currEfect = null; return(true); }
public void Clear() { m_currEfect = null; m_objOwner = null; m_director = null; }