示例#1
0
 public void StopEffect()
 {
     if (m_currEfect != null)
     {
         m_director.Stop();
         m_currEfect = null;
     }
 }
示例#2
0
 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;
         }
     }
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
 public void Clear()
 {
     m_currEfect = null;
     m_objOwner  = null;
     m_director  = null;
 }