Exemplo n.º 1
0
 //===================================
 // Method
 //===================================
 public FadeMusicShot(float start, float end, float duration, IMusicPlayback playback)
 {
     Playback   = playback;
     StartValue = start;
     EndValue   = end;
     Duration   = duration;
 }
Exemplo n.º 2
0
 public void PlayMusic(string path, float transitionTime, bool looping = true)
 {
     if (path == null)
     {
         // Stop music
         if (m_music != null)
         {
             m_music.FadeToVolume(0.0f, transitionTime, true);
             m_music = null;
         }
     }
     else
     {
         // Switch or continue music
         if (m_music == null || m_music.Music.Path != path || m_music.Stopped)
         {
             if (m_music != null)
             {
                 m_music.FadeToVolume(0.0f, transitionTime, true);
                 m_music = null;
             }
             m_music = m_audio.PlayMusic(path, looping, transitionTime);
         }
     }
 }
Exemplo n.º 3
0
        public GameAudio(IAudio audio)
        {
            m_audio    = audio;
            m_listener = new AudioListener();
            m_rate     = 1.0f;

            m_music  = null;
            m_sounds = new List <PlayingSound>();

            m_frame = 0;
        }
Exemplo n.º 4
0
        //=========================================
        // Method
        //=========================================
        public override IMusicShot Shot(IMusicPlayer player, IMusicPlayback playback)
        {
            var playlist = player.PlayList;
            var list     = new List <IMusicShot>();

            foreach (var p in playlist)
            {
                var fadeOut = new FadeOutMusicShot(m_duration, p);

                list.Add(fadeOut);
            }
            if (playback != null)
            {
                var fadeIn = new FadeInMusicShot(m_duration, playback);
                list.Add(fadeIn);
            }
            return(new ParallelMusicShot(list));
        }
Exemplo n.º 5
0
 public abstract IMusicShot Shot(IMusicPlayer player, IMusicPlayback playback);
Exemplo n.º 6
0
 public FadeInMusicShot(float duration, IMusicPlayback playback) : base(0, 1, duration, playback)
 {
 }
Exemplo n.º 7
0
 public FadeOutMusicShot(float duration, IMusicPlayback playback) : base(playback.Volume, 0, duration, playback)
 {
 }
Exemplo n.º 8
0
 protected override void DoDispose()
 {
     Playback = default;
 }