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)); } }
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(); }
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(); }
public void ClickPrevious(MobileSpeaker speaker) { }
public void ClickPlay(MobileSpeaker speaker) { }
public void ClickNext(MobileSpeaker speaker) { }
public void ClickLock(MobileSpeaker speaker) { speaker.PreviousState = speaker.State; speaker.State = new Holded(); }
public void ClickPlay(MobileSpeaker speaker) { speaker.PreviousState = speaker.State; speaker.State = new Ready(); }
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); }