/// <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); }
public void Play(SoundCueData data) { _data = data; if (_soundCue == null) { Debug.LogError("NO SOUND CUE to play!!!"); return; } _soundCue.Play(data, this); }
/// <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; }
/// <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; }