public void OnStopSE(AudioSE se) { enabledSEsources.Remove(se); if (se.EnableCache) { cachedSEsources.Enqueue(se); } }
public void Play() { if (enablePositionEffect) { AudioManager.Instance.PlaySE(se); } else { se = AudioManager.Instance.PlaySE(clip, volume); } }
public void PlaySE(AudioSE se) { if (enabledSEsources.Count >= numberOfConcurrentSE) { se = enabledSEsources.First.Value; enabledSEsources.RemoveFirst(); se.Stop(); if (se.EnableCache) { cachedSEsources.Enqueue(se); } } enabledSEsources.AddLast(se); se.Play(this.volume.Mute, this.volume.SE, this.volume.VOICE); }
void Awake() { if (!enablePositionEffect) { return; } se = GameObjectUtility.AddChild <AudioSE>("SE", target); if (type == InstanceType.Sibiling) { se.transform.parent = target.transform.parent; } se.EnableCache = false; se.Init(clip, volume); se.GetComponent <AudioSource>().rolloffMode = AudioRolloffMode.Linear; se.isVoice = isVoice; }