public AudioEffect(AudioContext context, AudioEffectType type) : base(context, Create(context)) { using (Context.Bind()) Context.AlEffecti(Id, AlEfxEnums.EffectType, (int)type); sourcesReadOnly = new ReadOnlyObservableCollection<AudioSource>(sources); }
public AudioEffect(AudioContext context, AudioEffectType type) : base(context, Create(context)) { using (Context.Bind()) Context.AlEffecti(Id, AlEfxEnums.EffectType, (int)type); sourcesReadOnly = new ReadOnlyObservableCollection <AudioSource>(sources); }
/// <summary> /// Plays the audio effect linked to the AudioEffectType. Can also adjust the pitch and volume. /// </summary> /// <param name="_audioType"></param> /// <param name="_pitch"></param> /// <param name="_volume"></param> public void PlayEffect(AudioEffectType _audioType, float _pitch = 1f, float _volume = 1) { for (int i = 0; i < audioEffects.Count; i++) { if (audioEffects[i].Effect == _audioType) { if (audioEffects[i].Clip != null) { AudioEffect _effect = audioEffects[i]; PlayClipAtPoint(_effect.Clip, _pitch, _effect.Volume); } break; } } }
public static AudioClip LoadAudioClip(AudioEffectType effectType, string clipName) { string clipPath = ""; switch (effectType) { case AudioEffectType.Music: clipPath = MUSIC_BASE_PATH + clipName; break; case AudioEffectType.Sound: clipPath = SOUND_BASE_PATH + clipName; break; } return(Resources.Load <AudioClip>(clipPath)); }
public void PlayClip(AudioEffectType effectType, int trackNumber, bool loop) { AudioSource source = _tracks[trackNumber]; source.clip = effectType switch { AudioEffectType.Munch => audioCollection.munch, AudioEffectType.EatGhost => audioCollection.eatGhost, AudioEffectType.Death => audioCollection.death, AudioEffectType.Intermission => audioCollection.intermission, AudioEffectType.Siren => audioCollection.siren, AudioEffectType.Fleeing => audioCollection.powerPellet, AudioEffectType.Retreating => audioCollection.retreating, AudioEffectType.IntroMusic => audioCollection.introMusic, _ => source.clip }; source.Play(); source.loop = loop; } }
/// <summary> /// Play an audio effect /// </summary> /// <param name="type">Type of audio</param> public void Play(AudioEffectType type) { SoundEffect effect = m_effects.ElementAt((int)type); effect.Play(); }