示例#1
0
        /// <summary>
        /// This method is called only when PlaySoundSettings has a SoundCue reference in it.
        /// Same as Play(), but much faster.
        /// </summary>
        /// <param name="settings">PlaySoundSettings instance with SoundCue reference in it.</param>
        /// <returns>Same SoundCue from PlaySoundSettings</returns>
        private SoundCueProxy PlaySoundCue(PlaySoundSettings settings)
        {
            SoundCueProxy cue         = settings.soundCueProxy as SoundCueProxy;
            Transform     parent      = settings.parent;
            float         fadeInTime  = settings.fadeInTime;
            float         fadeOutTime = settings.fadeOutTime;
            bool          isLooped    = settings.isLooped;
            var           ncue        = _cueManager.GetSoundCue();

            ncue.AudioObject = _pool.GetFreeObject(cue.Data.audioPrefab).GetComponent <SoundObject>();
            if (parent != null)
            {
                ncue.AudioObject.transform.SetParent(parent, false);
            }
            SoundCueData data = cue.Data;

            data.fadeInTime  = fadeInTime;
            data.fadeOutTime = fadeOutTime;
            data.isFadeIn    = data.fadeInTime >= 0.1f;
            data.isFadeOut   = data.fadeOutTime >= 0.1f;
            data.isLooped    = isLooped;
            cue.SoundCue     = ncue;
            cue.Play(data);
            return(cue);
        }
示例#2
0
 public void Play(SoundCueData data)
 {
     _data = data;
     if (_soundCue == null)
     {
         Debug.LogError("NO SOUND CUE to play!!!");
         return;
     }
     _soundCue.Play(data, this);
 }
示例#3
0
 /// <summary>
 /// Will start playing the cue.
 /// NOTE: It is called automatically if gotten from AudioController.
 /// </summary>
 public void Play(SoundCueData data)
 {
     _data = data;
     AudioObject.OnFinishedPlaying = OnFinishedPlaying_handler;
     // audioObject.isDespawnOnFinishedPlaying = false;
     if (TryPlayNext() == false)
     {
         return;
     }
     IsPlaying = true;
 }
示例#4
0
 /// <summary>
 /// Plays the SoundCue.
 /// </summary>
 /// <param name="data">SoundCue's data</param>
 /// <param name="proxy">Proxy created by SoundController that called this method.</param>
 public void Play(SoundCueData data, SoundCueProxy proxy)
 {
     Play(data);
     _currentProxy = proxy;
 }