示例#1
0
 public void PlaySound(SoundFilesEnum sound)
 {
     try {
         _effectsReader = sound switch {
             SoundFilesEnum.MenuAcceptSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                                @"Sounds\sfx\menuAccept.wav")),
             SoundFilesEnum.MenuClickSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                               @"Sounds\sfx\menuClick.wav")),
             SoundFilesEnum.AttackSound => new AudioFileReader(
                 Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\attack.wav")),
             SoundFilesEnum.BombSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                          @"Sounds\sfx\bomb.wav")),
             SoundFilesEnum.ConverterSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                               @"Sounds\sfx\converter.wav")),
             SoundFilesEnum.HitSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                         @"Sounds\sfx\hit.wav")),
             SoundFilesEnum.TeleportSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                              @"Sounds\sfx\teleport.wav")),
             SoundFilesEnum.WalkSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory,
                                                                          @"Sounds\sfx\walk.wav")),
             SoundFilesEnum.PickupSound => new AudioFileReader(
                 Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\pickup.wav")),
             _ => throw new Exception("Unknown theme")
         };
         _effectsOutput = new WaveOut();
         _effectsOutput.Init(_effectsReader);
         _effectsOutput.Play();
     }
     catch (Exception e) {
         Console.WriteLine(e);
     }
 }
示例#2
0
        public void PlayTheme(SoundFilesEnum name)
        {
            var fadeOut = new Task(() => {
                if (_musicOutput != null)
                {
                    while (_currentVolume > 0.01f)
                    {
                        _currentVolume     -= 0.01f;
                        _musicOutput.Volume = _currentVolume;
                        Thread.Sleep(50);
                    }
                }
                FadeOutEndNotification?.Invoke(name);
            });

            fadeOut.Start();
        }
示例#3
0
 private void PlayThemePrivate(SoundFilesEnum theme)
 {
     try {
         _fileReader = theme switch {
             SoundFilesEnum.MenuTheme => new Mp3FileReader(_menuTheme),
             SoundFilesEnum.GameTheme => new Mp3FileReader(_gameTheme),
             SoundFilesEnum.ResultsTheme => new Mp3FileReader(_resultTheme),
             _ => throw new Exception("Unknown theme")
         };
         _musicOutput = new WaveOut {
             Volume = _currentVolume
         };
         _musicOutput.Init(_fileReader);
         FadeInVolume();
         _musicOutput.Play();
     }
     catch (Exception e) {
         Console.WriteLine(e);
     }
 }
示例#4
0
 private void OnFadeOutEndNotification(SoundFilesEnum name)
 {
     StopTheme();
     PlayThemePrivate(name);
 }
示例#5
0
 public void PlaySound(SoundFilesEnum name)
 {
     _musicPlayer.PlaySound(name);
 }
 private void PlaySound(SoundFilesEnum name)
 {
 }