Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 /// <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;
         }
     }
 }
Ejemplo n.º 4
0
    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));
    }
Ejemplo n.º 5
0
        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;
        }
    }
Ejemplo n.º 6
0
 /// <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();
 }