protected virtual void Update()
 {
     if (!IsSoundPlayable())
     {
         if (m_IsPlaying)
         {
             if (m_AudioObj != null)
             {
                 m_AudioObj.DestroyAudioObject();
                 m_AudioObj = null;
             }
             m_IsPlaying = false;
         }
     }
     else if ((!m_IsPlaying || m_ReactivateAt <= Time.time) && (m_AudioObj == null || !m_AudioObj.IsPlaying()) && AudioManager.Instance.IsAudioIDLoaded(m_AudioID))
     {
         m_AudioObj = AudioHelper.PlayWithProbabilityOfFirstItem(m_AudioID, transform, m_AudioVolume, 0f, 0f);
         if (m_AudioObj != null)
         {
             OnNewAudioObject();
         }
         m_ReactivateAt = Time.time + m_RetryIntervalSeconds;
         m_IsPlaying    = true;
     }
 }
Ejemplo n.º 2
0
        private IEnumerator StopLoopAfter(Single p_Time, AudioObject p_Audio)
        {
            yield return(new WaitForSeconds(p_Time));

            if (p_Audio != null)
            {
                p_Audio.DestroyAudioObject();
            }
            yield break;
        }