Пример #1
0
        public void ClickPrevious(MobileSpeaker speaker)
        {
            var index = speaker.Playlist.FindIndex(x => x.Name == speaker.CurrentTrack.Name);

            if (index == 0)
            {
                speaker.CurrentTrack = speaker.Playlist.ElementAt(speaker.Playlist.Count - 1);
            }
            else
            {
                speaker.CurrentTrack = speaker.Playlist.ElementAt((index - 1));
            }
        }
Пример #2
0
        public void ClickLock(MobileSpeaker speaker)
        {
            var type = speaker.PreviousState.GetType();

            if (type.Name == "Ready")
            {
                speaker.State = new Ready();
            }
            else
            {
                speaker.State = new Playing();
            }
            speaker.PreviousState = new Holded();
        }
Пример #3
0
        static void Main(string[] args)
        {
            MobileSpeaker speaker = new MobileSpeaker();

            speaker.State         = new Ready();
            speaker.PreviousState = new Ready();

            speaker.Playlist = new List <MusicTrack>
            {
                new MusicTrack {
                    Name = "1", Duration = 180, URL = ""
                },
                new MusicTrack {
                    Name = "2", Duration = 220, URL = ""
                },
                new MusicTrack {
                    Name = "3", Duration = 120, URL = ""
                },
            };
            speaker.CurrentTrack = speaker.Playlist.ElementAt(1);

            speaker.ClickPlay();
            speaker.ReportState();
            speaker.ClickNext();
            //speaker.ClickPrevious();
            speaker.ReportState();

            speaker.ClickLock();
            speaker.ReportState();
            speaker.ClickPlay();
            speaker.ReportState();

            speaker.ClickLock();
            speaker.ReportState();
            speaker.ClickPlay();
            speaker.ReportState();

            Console.ReadLine();
        }
Пример #4
0
 public void ClickPrevious(MobileSpeaker speaker)
 {
 }
Пример #5
0
 public void ClickPlay(MobileSpeaker speaker)
 {
 }
Пример #6
0
 public void ClickNext(MobileSpeaker speaker)
 {
 }
Пример #7
0
 public void ClickLock(MobileSpeaker speaker)
 {
     speaker.PreviousState = speaker.State;
     speaker.State         = new Holded();
 }
Пример #8
0
 public void ClickPlay(MobileSpeaker speaker)
 {
     speaker.PreviousState = speaker.State;
     speaker.State         = new Ready();
 }
Пример #9
0
        public void ClickNext(MobileSpeaker speaker)
        {
            var index = speaker.Playlist.FindIndex(x => x.Name == speaker.CurrentTrack.Name);

            speaker.CurrentTrack = speaker.Playlist.ElementAt((index + 1) % speaker.Playlist.Count);
        }